Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - AlexDJ

Страницы: [1]
1
Вот мой скрипт отображения категорий:


function print_cats_8() {

    
$qq "
<script language=javascript>
function undisplayNews5(id)
 {
 document.getElementById(\\"
cat\\"+id).style.display = \\"none\\";
}

function displayNews5(id)
 {
 o = document.getElementById(\\"
cat\\"+id).style;
 o.display = (o.display == \\"
none\\") ? \\"\\" : \\"none\\";
 return false;
}

 function montre(id) {
    if (document.getElementById) {document.getElementById(id).style.display=\'block\';}
  }
  function cache(id) {
    if (document.getElementById) {document.getElementById(id).style.display=\'none\';}
  }

</script>
    "
;


    
$query "SELECT  * FROM  `cat` WHERE  `name` BETWEEN  \'П%\' AND  \'С%\' ORDER by name;";
//    $query = "SELECT  * FROM  `refs` WHERE  `cat_id`  =33 AND  `scat_id`  =24 AND  `type_id`  =2;";
	

    
$rez sql_query($query);

    while (list (
$id$name) = mysql_fetch_array($rez)) {

	
$query2 "SELECT * FROM scat WHERE cat_id=\'".$id."\' ORDER by name;";
	
$rez2 sql_query($query2);


	
if (
mysql_num_rows($rez2) != 0) {
       
$qq .= "<SPAN id=t1 class=\\"style20\\">+ </SPAN>";
	
   
$qq .= "<SPAN id=t2 style=\\"DISPLAYnone\\">-</SPAN>";

  
	
    
$app_1 "onclick=\\"return displayNews5(".$id.");\\" ";
        
$app_2 "onclick=\\"cache(\'a1\'); cache(\'t2\'); montre(\'t1\'); return displayNews5(".$id.");\\" ";
 
	
} else {
       $qq .= "   ";
	
   $qq .= "<SPAN id=t2 style=\\"DISPLAY: none\\">-</SPAN>";
	

	
	
$app_1 = "";
	
	
$app_2 = "";
	
}

   
	
$qq .= "<SPAN id=a1 style=\\"DISPLAY: visible\\"><img src=\\"pics/UnSelected.jpg\\" width=\\"7\\" height=\\"9\\">   <a ".$app_1." href=\\"?mode=cat&id=".$id."\\" class=\\"tree\\">".$name."</a>
\\n</SPAN>";
// 
	
$qq .= "<SPAN id=a2 style=\\"DISPLAY: none\\"><img src=\\"pics/UnSelected.jpg\\" width=\\"7\\" height=\\"9\\">   <a ".$app_2." href=\\"?mode=cat&id=".$id."\\" class=\\"tree\\">".$name."</a>
\\n</SPAN>";


	
if (mysql_num_rows($rez2) != 0) {
//    
	
$qq .= " <img src=\\"pics/corner.jpg\\" width=\\"12\\" height=\\"10\\">  <a ".$app." href=\\"?mode=cat&id=".$id."\\" class=\\"treecat\\">Разделы</a>

//\\n";
	
    $qq .= "<div id=\\"cat".$id."\\" style=\\"display: none;\\">\\n";
	
    while( list ($id2, $cat_id, $name2) = mysql_fetch_array($rez2)) {
	
	
$qq .= "       <img src=\\"pics/UnSelected.jpg\\" width=\\"7\\" height=\\"9\\">   <a href=\\"?mode=item&id=".$id."&sid=".$id2."\\" class=\\"subtree\\">".$name2."</a>
\\n";
	
    }
	
    $qq .="</div>\\n";
	
}
    }
    return $qq;
}

3
Имеется база с названием \'referats\'. В ней есть таблицы: {cat [id, name, info]; news [id, data, title, text]; refs [id, scat_id, title, type_id, type, descr, date, pages, comm]; scat [id, cat_id, name]; types [id, name]}. Таблицы отмечены {}, поля в них - []

Каким образом извлечь эти данные, чтобы они потом выходили на следующей странице? Не понимаю... Можно кодом?

4
Вот снова и я :)
Итак за то время, пока меня не было, я умудрился сделать почти все сам. :) Осталась лишь одна трабла.

Итак, проблема осталась такая:

К этой проблеме я даже пока не знаю, как подступиться.
Под деревом должна быть строка: все работы, курсовые, рефераты, контрольные, дипломы, доклады, отчеты. Рядом с этими словами должны быть checkbox’ы, при выборе которых в дереве должны отображаться категории/подкатегории, имеющие внутри себя ТОЛЬКО отмеченные работы.

Вот строка с checkbox\'ами (это я сделал сам Ж-) ):

       Все работы
      
       Курсовые
            
       Рефераты
            
       Контрольные
            
       Дипломы
            
       Доклады
            
       Отчеты
            

И что делать дальше, я понятия не имею :(
Дальше нужно проверить, какие checkbox\'ы отмечены, а какие нет, и в зависимости от этого по ссылке из "дерева" должна открываться страница только с выбранными типами работ. Как это сделать - я даже не представляю. Буду признателен, если тут вы сможете помочь.

5
Для начала я не могу сделать побуквенный вывод, не говоря уже о ссылках. Nested Set попробовал, но запутался окончательно, т.к. там используются вспомогательные три таблицы, а что с ними делать и с чем их есть - я так и не понял :(((

6
У нас в сети решили сделать портал-базу по рефератам. Все я сделал остались две траблы, про первую я здесь и пишу.
   Итак, имеется база с названием \'referats\'. В ней есть таблицы: {cat [id, name, info]; news [id, data, title, text]; refs [id, scat_id, title, type_id, type, descr, date, pages, comm]; scat [id, cat_id, name]; types [id, name]}. Таблицы отмечены {}, поля в них - [] :)
   Задача такая: нужно организовать на странице вывод вывод работ по категориям в таком виде.
   Сверху должна быть шапка: все предметы, А-Б, В-Г, Д-Е, Ж-З, И-К, Л-М, Н-О, П-Р, С-Т , У-Ф, Х-Ч, Ц-Я
   Дальше само тело вывода: тут должно быть дерево, в котором должны быть выведены категории (cat [name]), причем, если у категории есть подкатегории (то есть в scat есть ссылка на данную категорию в cat - например, scat [cat_id = 7] означает, что в категории cat [id] = 7 есть подкатегории в таблице scat с полем [cat_id] = 7), то слева от категории должен быть "+" и при нажатии на категорию, она бы раскрывалась в виде дерева, меняла цвет на красный, и под ней появлялись бы подкатегории и "+" менялся бы на "-". Соответственно, все наоборот при закрытии.
   Немного подробнее о выводе дерева. Как уже, наверное, понятно, дерево должно выводится в зависимости от запроса из шапки, то есть по алфавитному порядку (или сразу все, в зависимости от выбора). То есть, нажали, допустим, на Ж-З - выведется дерево из категорий, начинающихся на Ж и З и т.д., нажали на П-Р - из категорий, начинающихся на П-Р. По умолчанию, при открытии страницы, должны выводиться категории А-Б.Что касается ссылок. Категории должны иметь ссылки в виде /?mode=cat&id=7 (где ID - это cat [id]), подкатегории - в виде /?mode=item&id=7&sid=1 (где ID - это cat [id], sid - это scat [id]), работы - в виде /?mode=info&id=386 (где ID - это refs [id]).
   Причем, есть еще один нюанс: под деревом должна быть строка: все работы, курсовые, рефераты, контрольные, дипломы, доклады, отчеты. Рядом с этими словами должны быть checkbox’ы, при выборе которых в дереве должны отображаться категории/подкатегории, имеющие внутри себя ТОЛЬКО отмеченные работы. Кстати, это {types [name]}.
   При выборе категории (если она без подкатегорий) или подкатегории, должна открыться новая страница, скажем, spisok.php вместо данной (у меня это все открывается внутри таблицы), на которой сверху наше дерево с выбранным буквенным (или общим) разделом, а под ним собственно, таблица, в которой работы из выбранной категории (подкатегории).
   Причем, есть еще один нюанс: под деревом должна быть строка: все работы, курсовые, рефераты, контрольные, дипломы, доклады, отчеты. Рядом с этими словами должны быть checkbox’ы, при выборе которых в дереве должны отображаться категории/подкатегории, имеющие внутри себя ТОЛЬКО отмеченные работы. Соответственно, в таблице должны отображаться, только те работы, которые сооответствуют выбранному {types [name]}.
   Теперь подробней о структуре таблицы. Сверху таблицы - шапка, в которой слева должны быть подкатегории в выбранной категории (если таковые имеются, иначе NULL), справа должны быть номера страниц (поскольку работ ОЧЕНЬ много, вывод нужно сделать постраничным).
   Далее, шапка самой таблицы. Таблица должна состоять из 5 колонок: ID (refs [id]), тема работы (refs [title]), тип работы (refs [type]), объем (refs [pages]), дата (refs [date]). В таблице, собственно, вывод запроса.
   Под таблицей шапку, аналогичная той, что над таблицей: шапка, в которой слева должны быть подкатегории в выбранной категории (если таковые имеются, иначе NULL), справа должны быть номера страниц (поскольку работ ОЧЕНЬ много, вывод нужно сделать постраничным).


   Вот такая вот задачка. Подобные дерева ввода данных я видел, здесь лишь усложнена структура. Поскольку сам я ч этими деревьями еще не работал, прошу хэлпа, чтобы сразу помогли написать итоговый код. Я думаю, что данный код можно будет потом выложить в open source’ы в интернете, т.к. я думаю, что со временем все сталкиваются с необходимостью реализации подобных проблем.
   Я уже неделю не спал - делал сам портал. Осталось эти два скрипта: дерево и поиск, а я хочу спать :((( Зато, если поможете, я получу автомат по информатике :)))

   ЗЫ Если что - меня можно найти в асе: 125659225, или в ИРКе на 213.24.73.20:6667. Мой ник AlexDJ
   ЗЫ2 Заранее огромный фэнкс и респект тому, кто сможет помочь.

Страницы: [1]