Страница 1 из 2

версия для печати.

Добавлено: 2007-06-15 22:52:02
Alex Keda
Сделал версию для печати.
в главном меню, вместо "опросов" :)))
==========
критика - приветствуется.

Добавлено: 2007-06-15 22:57:35
dikens3
Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу, откуда взяли.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK


Время генерации страницы 0.459 секунд
Из них PHP: 29%; SQL: 71%; Число SQL-запросов: 75 шт.
Исходный размер: 33202; Сжатая: 11034
Мы — долго запрягаем, быстро ездим, и сильно тормозим.
http://www.lissyara.su —> статьи —> FreeBSD —> Security —> Бронированный FreeBSD
Это нафиг не нужно.

Добавлено: 2007-06-15 23:06:47
Alex Keda
даже не знаю...
меню - нужно, чтобы обратно вернутся на сайт, если придут с поисковика.
про тормоза.... да х.з. - почему бы не оставить :)))
ну а нижний блок... ну даже не знаю. тоже охота оставить.
есть конструктивная критика - причины почему не нужно?

Добавлено: 2007-06-16 9:36:20
dikens3
Ссылку обратно на сайт в версии для печати можно оставить. Остальное как-то не очень смотрится.

Добавлено: 2007-06-16 11:29:35
Alex Keda
блин...
я твоё мнение ценю, однако - у остальных его нету чтоли? :)

Добавлено: 2007-06-16 16:51:13
dikens3
lissyara писал(а):блин...
я твоё мнение ценю, однако - у остальных его нету чтоли? :)
До первой звезды нельзя. :-) Ждёмс..

Добавлено: 2007-06-16 17:47:49
serge
Мнение есть конечно. :) Просто все устраивает поэтому и не критикую :P

Добавлено: 2007-07-11 9:36:10
schizoid
к версии для печати не относится...но
1. не пора ли поиск забодяжить ?
2. а низзя ли сортануть по алфовиту статьи? искать просто проще...

Добавлено: 2007-07-11 12:23:44
Alex Keda
по алфлвиту - как?
многие называются весьма неявно...

Добавлено: 2007-07-11 12:37:15
schizoid
ну типа из:

Код: Выделить всё

        CVSup
        начальная настройка
        Установка FreeBSD
        DUMMYNET
        Сборка ядра
        IPFW
        portupgrade
        обновление
        portsnap
        CP1251 на FreeBSD
        loader.conf
        defaults/rc.conf
        diskless
        jail
        Ntpdate/Ntpd
        Обновление мира ("world")
        PBR & PF
        bsnmpd
        newsyslog
        if_bridge
        make.conf
        PBR & IPFW
        Работа с HDD
в

Код: Выделить всё

        bsnmpd
        CP1251 на FreeBSD
        CVSup
        defaults/rc.conf
        diskless
        DUMMYNET
        if_bridge
        IPFW
        jail
        loader.conf
        make.conf
        newsyslog
        Ntpdate/Ntpd
        PBR & IPFW
        PBR & PF
        portsnap
        portupgrade
        начальная настройка
        обновление
        Обновление мира ("world")
        Работа с HDD
        Сборка ядра
        Установка FreeBSD
просто часто помнишь как статья называется, но бывает втыкаешь и не видишь где она лежит

Добавлено: 2007-07-13 8:30:32
Urgor
Эта пять! То очем так долго говорили -- свершилось! :)
А нижний банер.... гм. IMHO функцию печати будут применять не для расклейки статей, на улицах города :)
2. а низзя ли сортануть по алфовиту статьи? искать просто проще...
+1 Пожелание сортануть меню по алфавиту полностью поддерживаю. Хотя и пользую lissyara's syte reader from Urgor :)

Добавлено: 2007-07-13 8:34:07
Alex Keda
Urgor писал(а):Эта пять! То очем так долго говорили -- свершилось! :)
А нижний банер.... гм. IMHO функцию печати будут применять не для расклейки статей, на улицах города :)
непонял...
Urgor писал(а):
2. а низзя ли сортануть по алфовиту статьи? искать просто проще...
+1 Пожелание сортануть меню по алфавиту полностью поддерживаю. Хотя и пользую lissyara's syte reader from Urgor :)
ОК. тогда сделаю страничку со списком статей, типа как у автора
http://www.lissyara.su/?id=1070&author_id=1024
но с полным списком, и возможностью сортировки по названиям - устроит?

Добавлено: 2007-07-13 9:05:47
Urgor
но с полным списком, и возможностью сортировки по названиям - устроит?
Лис, ты не понял :) Слева менюха со статьями, вот в ней бы сортануть... или order by там не заюзать?

Добавлено: 2007-07-13 9:23:26
Alex Keda
у...
не, меню левое даже трогать не буду.
там сто килобайт кода на это меню, и как он работает - я сам не понимаю.
Была как-то ночь, сел и написал. А утром смотрю и непонимаю - как оно работает..
с тех пор пару раз пытался понять - но ниасилил... чёрная дыра короче :)
=============
короче - вот это трогать я не буду :)

Добавлено: 2007-07-13 10:03:32
Andy
lissyara писал(а):А утром смотрю и непонимаю - как оно работает..
с тех пор пару раз пытался понять - но ниасилил... чёрная дыра короче :)
Как коптерка старшины? :lol: А на чем писано, на php? Может код этого меню сюда, а мы вместе покумекаем?

Добавлено: 2007-07-13 10:09:00
Alex Keda
ну держитесь :)))

Код: Выделить всё

$left_menu = "";
$part2_sql_query = "";

// последовательный перебор разделов (1 --> 6), до тех пор,
// пока не найдём уровень в котором встречается этот раздел
//echo "раздел из страницы = " . $massiv_page_text['rzd'] . "<br>\n";
$i = 0;
while($i++ < 6){
$sql_query = "SELECT * FROM `razdel_table` WHERE `rzd_" . $i . "`='" . $massiv_page_text['rzd'] . "' LIMIT 1";
//echo "кверя поиска раздела = " . $sql_query . "<br>\n";
$massiv_rzd_i = mysql_fetch_array(main_sql_query("$sql_query"));
$key = "rzd_" . $i;
//echo "i = " . $i . "ключики поиска раздела = " .$key . "<br>\n";
//echo "массив раздела по ключу = " . $massiv_rzd_i[$key] . "<br>\n";
if($massiv_rzd_i[$key] == $massiv_page_text['rzd']){
$rzd_uroven = $i;
$i = 7;
}
unset ($sql_query);
unset ($massiv_rzd_i);
unset ($key);
//echo $i . " ";
}

//echo "уровеань раздела в left_menu.php = " . $rzd_uroven . "<br>\n";

// определяем является ли страница индексной страницей какого-либо раздела
$massiv_rzd = mysql_fetch_array(main_sql_query("SELECT * FROM `razdel_table` WHERE `id_index_pade_rzd`='$id'"));
if($massiv_rzd['rzd_1'] != false){
// это индексная страница
$indx_page_curr_rzd = $id;
$index_top_rzd = $id;
}else{
// это не индексная страница
// определяем индексную страницу этого раздела
// вводим часть запроса где раздел и его уровень
$part1_sql_query = "rzd_" . $rzd_uroven . "='" . $massiv_page_text['rzd'] . "'";
// вводим вторую часть запроса, где определяем нулевые разделы
$i = $rzd_uroven;
while($i++ < 6){$part2_sql_query = $part2_sql_query . " AND `rzd_" . $i . "`='0' ";}
// составляем сам запрос
$sql_query = "SELECT `id_index_pade_rzd` FROM `razdel_table` WHERE " . $part1_sql_query . $part2_sql_query;
// делаем запрос на раздел к которому относится страница
$massiv_rzd_i = @mysql_fetch_array(main_sql_query("$sql_query"));
unset ($part1_sql_query);
unset ($part2_sql_query);
unset ($sql_query);
$indx_page_curr_rzd = $massiv_rzd_i['id_index_pade_rzd'];
$index_top_rzd = $massiv_rzd_i['id_index_pade_rzd'];
unset ($massiv_rzd_i);
}
/*
echo "раздел = " . $massiv_page_text['rzd'] . ", уровень раздела =
" . $rzd_uroven . ", индексная страница = " . $indx_page_curr_rzd . ",
 текущая страница = " . $id . "<br>\n";
*/
// достаём из таблицы разделов все страницы с разделом втрого уровня = разделу второго уровня текущей страницы
// достаём собственно список разделов текущего раздела :)
$razdeli_indeksnoy_stranitsi = mysql_fetch_array(main_sql_query("SELECT * FROM `razdel_table` WHERE `id_index_pade_rzd` = '" . $indx_page_curr_rzd . "'"));
// достаём из таблицы разделов все страницы с разделом втрого уровня = разделу второго уровня текущей страницы
// и при этом являющихся индексными для других разделов
$sql_2 = main_sql_query("SELECT * FROM `razdel_table` WHERE `rzd_2` = '" . $razdeli_indeksnoy_stranitsi['rzd_2'] . "' AND `rzd_4` = '0' AND `rzd_5` = '0' AND `rzd_6` = '0'");
// пробегаемся по массиву и последовательно вытаскиваем пункты меню
while ($d_2 = mysql_fetch_assoc($sql_2)){
        // запрос к БД самого сайта на построение меню - нужны заголовок и примечание
        $sql_2_site = mysql_fetch_array(main_sql_query("SELECT `rzd`,`zagolovok_menu`, `descriptions`,`vizible` FROM `site_table` WHERE `id`='" . $d_2['id_index_pade_rzd'] . "' ORDER BY `id`"));
        // если страница видимая (не нулю равен `визибле`)
        if($sql_2_site['vizible'] !== '0'){
        // если это индексная страница этого уровня раздела - то её не выводим
        // ломимся снова в таблицу разделов - смотрим индексная ли это страница раздела
        $sql_2_site_indx_rzd = mysql_fetch_array(main_sql_query("SELECT `id_index_pade_rzd` FROM `razdel_table` WHERE `id_index_pade_rzd` = '" . $d_2['id_index_pade_rzd'] . "' AND `rzd_3` = '0' AND `rzd_4` = '0' AND `rzd_5` = '0' AND `rzd_6` = '0'"));
        if($d_2['id_index_pade_rzd'] == $sql_2_site_indx_rzd['id_index_pade_rzd']){
        // ничё не делаем
        }else{
        // иначе - строим строку меню
        // теперь надо посмотреть не для того ли раздела мы строили строку, в котором сейчас находимся, и если так оно и есть -
        // надо строить выпадающее подменю...
        if($razdeli_indeksnoy_stranitsi['rzd_3'] == $sql_2_site['rzd']){
        $left_menu = $left_menu . "<TABLE border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\" id=\"left_menu\">\n<TBODY>\n<TR>\n<TD height=\"20\" align=\"left\" class=\"current\" onmouseover=\"this.style.cursor='hand';\" onclick=\"window.location.href('./?id=" . $d_2['id_index_pade_rzd'] . "')\"><CODE style=\"font-size: 9pt;\"><A  class=\"left-menu-link\" title=\"" . htmlspecialchars($sql_2_site['descriptions']) . "\" href=\"./?id=" . $d_2['id_index_pade_rzd'] . "\">" . htmlspecialchars($sql_2_site['zagolovok_menu']) . "</a>\n</CODE></TD>\n</TR>\n</TBODY>\n</TABLE>\n";
        // меню построили, выпало :)
        // если следующий уровень разделов = 0, то это конец меню, и надо вывести все страницы этого раздела
        if($razdeli_indeksnoy_stranitsi['rzd_4'] == false){
        $curr_razdel_pages_2 = main_sql_query("SELECT `id`, `zagolovok_menu`, `descriptions`, `vizible` FROM `site_table` WHERE `rzd` = '$razdeli_indeksnoy_stranitsi[rzd_3]' ORDER BY `id`");
        while ($pages_2 = mysql_fetch_assoc($curr_razdel_pages_2)){
        // если это таже страница, для которой строится подменю, то её не выводим
        if($d_2['id_index_pade_rzd'] !== $pages_2['id']){
        // если `visible` не равно нулю - выводим в меню
        if($pages_2['vizible'] == '1'){
        // раскрашиваем текущий пункт меню
        if($pages_2['id'] == $id){$menu_color = "class=\"current\" onmouseover=\"this.style.cursor='hand';\" onclick=\"window.location.href('./?id=" . $pages_2['id'] . "')\"";}else{$menu_color = "class=\"hilightoff\" onmouseover=\"className='hilighton'; this.style.cursor='hand';\" onmouseout=\"className='hilightoff';\" onclick=\"window.location.href('./?id=" . $pages_2['id'] . "')\"";}
        $left_menu = $left_menu . "<TABLE border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\" id=\"left_menu\">\n<TBODY>\n<TR>\n<TD width=\"20\" style=\"font-size: 12px\">&nbsp;</TD>\n<TD height=\"20\" align=\"left\" " . $menu_color . "><CODE style=\"font-size: 9pt;\"><A class=\"left-menu-link\" title=\"" . htmlspecialchars($pages_2['descriptions']) . "\" href=\"./?id=" . $pages_2['id'] . "\">" . htmlspecialchars($pages_2['zagolovok_menu']) . "</a></CODE></TD>\n</TR>\n</TBODY>\n</TABLE>\n";
        }}}}

                // если совпало - надо строить подменю....
                // достаём из таблицы разделов все страницы с разделом третьего уровня = разделу третьего уровня текущей страницы
                // и при этом являющихся индексными для других разделов
                $sql_3 = main_sql_query("SELECT * FROM `razdel_table` WHERE `rzd_3` = '" . $razdeli_indeksnoy_stranitsi['rzd_3'] . "' AND `rzd_5` = '0' AND `rzd_6` = '0'");
                // пробегаемся по массиву и последовательно вытаскиваем пункты меню
                while ($d_3 = mysql_fetch_assoc($sql_3)){
                // запрос к БД самого сайта на построение меню - нужны заголовок и примечание
                $sql_3_site = mysql_fetch_array(main_sql_query("SELECT `rzd`,`zagolovok_menu`, `descriptions`,`vizible` FROM `site_table` WHERE `id`='" . $d_3['id_index_pade_rzd'] . "' ORDER BY `id`"));
                // если страница видимая (не нулю равен `визибле`)
                if($sql_3_site['vizible'] == '1'){
                // если это индексная страница этого уровня раздела - то её не выводим
                // ломимся снова в таблицу разделов - смотрим индексная ли это страница раздела
                $sql_3_site_indx_rzd = mysql_fetch_array(main_sql_query("SELECT `id_index_pade_rzd` FROM `razdel_table` WHERE `id_index_pade_rzd` = '" . $d_3['id_index_pade_rzd'] . "' AND `rzd_4` = '0' AND `rzd_5` = '0' AND `rzd_6` = '0'"));
                if($d_3['id_index_pade_rzd'] == $sql_3_site_indx_rzd['id_index_pade_rzd']){
                // ничё не делаем
                }else{
                // иначе - строим строку меню
                // теперь надо посмотреть не для того ли раздела мы строили строку, в котором сейчас находимся, и если так оно и есть -
                // надо строить выпадающее подменю...
                if($razdeli_indeksnoy_stranitsi['rzd_4'] == $sql_3_site['rzd']){
                $left_menu = $left_menu . "<TABLE border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\" id=\"left_menu\">\n<TBODY>\n<TR>\n<TD width=\"20\" style=\"font-size: 12px\">&nbsp;</TD>\n<TD height=\"20\" align=\"left\" class=\"current\" onmouseover=\"this.style.cursor='hand';\" onclick=\"window.location.href('./?id=" . $d_3['id_index_pade_rzd'] . "')\"><CODE style=\"font-size: 9pt;\"><A class=\"left-menu-link\" title=\"" . htmlspecialchars($sql_3_site['descriptions']) . "\" href=\"./?id=" . $d_3['id_index_pade_rzd'] . "\">" . htmlspecialchars($sql_3_site['zagolovok_menu']) . "</a></CODE></TD>\n</TR>\n</TBODY>\n</TABLE>\n";
                // меню построили, выпало :)
                // если следующий уровень разделов = 0, то это конец меню, и надо вывести все страницы этого раздела
                if($razdeli_indeksnoy_stranitsi['rzd_5'] == false){
                $curr_razdel_pages_3 = main_sql_query("SELECT `id`, `zagolovok_menu`, `descriptions`, `vizible` FROM `site_table` WHERE `rzd` = '$razdeli_indeksnoy_stranitsi[rzd_4]' ORDER BY `id`");
                while ($pages_3 = mysql_fetch_assoc($curr_razdel_pages_3)){
                // если это таже страница, для которой строится подменю, то её не выводим
                if($d_3['id_index_pade_rzd'] !== $pages_3['id']){
                // если `visible` не равно нулю - выводим в меню
                if($pages_3['vizible'] == '1'){
                // раскрашиваем текущий пункт меню
                if($pages_3['id'] == $id){$menu_color = "class=\"current\" onmouseover=\"this.style.cursor='hand';\" onclick=\"window.location.href('./?id=" . $pages_3['id'] . "')\"";}else{$menu_color = "class=\"hilightoff\" onmouseover=\"className='hilighton'; this.style.cursor='hand';\" onmouseout=\"className='hilightoff';\" onclick=\"window.location.href('./?id=" . $pages_3['id'] . "')\"";}
                $left_menu = $left_menu . "<TABLE border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\" id=\"left_menu\">\n<TBODY>\n<TR>\n<TD width=\"40\" style=\"font-size: 12px\">&nbsp;</TD>\n<TD height=\"20\" align=\"left\" " . $menu_color . "><CODE style=\"font-size: 9pt;\"><A class=\"left-menu-link\" title=\"" . htmlspecialchars($pages_3['descriptions']) . "\" href=\"./?id=" . $pages_3['id'] . "\">" . htmlspecialchars($pages_3['zagolovok_menu']) . "</a></CODE></TD>\n</TR>\n</TBODY>\n</TABLE>\n";
                }}}}

                        // если совпало - надо строить подменю....
                        // достаём из таблицы разделов все страницы с разделом третьего уровня = разделу третьего уровня текущей страницы
                        // и при этом являющихся индексными для других разделов
                        $sql_4 = main_sql_query("SELECT * FROM `razdel_table` WHERE `rzd_4` = '" . $razdeli_indeksnoy_stranitsi['rzd_4'] . "' AND `rzd_6` = '0'");
                        // пробегаемся по массиву и последовательно вытаскиваем пункты меню
                        while ($d_4 = mysql_fetch_assoc($sql_4)){
                        // запрос к БД самого сайта на построение меню - нужны заголовок и примечание
                        $sql_4_site = mysql_fetch_array(main_sql_query("SELECT `rzd`,`zagolovok_menu`, `descriptions`,`vizible` FROM `site_table` WHERE `id`='" . $d_4['id_index_pade_rzd'] . "'"));
                        // если страница видимая (не нулю равен `визибле`)
                        if($sql_4_site['vizible'] == '1'){
                        // если это индексная страница этого уровня раздела - то её не выводим
                        // ломимся снова в таблицу разделов - смотрим индексная ли это страница раздела
                        $sql_4_site_indx_rzd = mysql_fetch_array(main_sql_query("SELECT `id_index_pade_rzd` FROM `razdel_table` WHERE `id_index_pade_rzd` = '" . $d_4['id_index_pade_rzd'] . "' AND `rzd_5` = '0' AND `rzd_6` = '0'"));
                        if($d_4['id_index_pade_rzd'] == $sql_4_site_indx_rzd['id_index_pade_rzd']){
                        // ничё не делаем
                        }else{
                        // иначе - строим строку меню
                        // теперь надо посмотреть не для того ли раздела мы строили строку, в котором сейчас находимся, и если так оно и есть -
                        // надо строить выпадающее подменю...
                        if($razdeli_indeksnoy_stranitsi['rzd_4'] == $sql_4_site['rzd']){
                        $left_menu = $left_menu . "<TABLE border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\" id=\"left_menu\">\n<TBODY>\n<TR>\n<TD width=\"40\" style=\"font-size: 12px\">&nbsp;</TD>\n<TD height=\"20\" align=\"left\" class=\"current\" onmouseover=\"this.style.cursor='hand';\" onclick=\"window.location.href('./?id=" . $d_4['id_index_pade_rzd'] . "')\"><CODE style=\"font-size: 9pt;\"><A class=\"left-menu-current\" title=\"" . htmlspecialchars($sql_4_site['descriptions']) . "\" href=\"./?id=" . $d_4['id_index_pade_rzd'] . "\">" . htmlspecialchars($sql_4_site['zagolovok_menu']) . "</a></CODE></TD>\n</TR>\n</TBODY>\n</TABLE>\n";
                        /*
                        // меню построили, выпало :)
                        // если следующий уровень разделов = 0, то это конец меню, и надо вывести все страницы этого раздела
                        echo "6-й уровень = " . $razdeli_indeksnoy_stranitsi['rzd_6'];
                        if($razdeli_indeksnoy_stranitsi['rzd_6'] == false){
                        echo "совпало!"; }
                        */
                        }else{
                        $left_menu = $left_menu . "<TABLE border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\" id=\"left_menu\">\n<TBODY>\n\t<TR>\n\t\t<TD width=\"40\" style=\"font-size: 12px\">&nbsp;</TD>\n\t\t<TD height=\"20\" align=\"left\" class=\"hilightoff\" onmouseover=\"className='hilighton'; this.style.cursor='hand';\" onmouseout=\"className='hilightoff';\" onclick=\"window.location.href('./?id=" . $d_4['id_index_pade_rzd'] . "')\"><CODE style=\"font-size: 9pt;\"><A class=\"left-menu-link\"  title=\"" . htmlspecialchars($sql_4_site['descriptions']) . "\" href=\"./?id=" . $d_4['id_index_pade_rzd'] . "\">" . htmlspecialchars($sql_4_site['zagolovok_menu']) . "</a></CODE></TD>\n\t\t</TR>\n\t</TBODY>\n</TABLE>\n";
                        }}}}

                }else{
                $left_menu = $left_menu . "<TABLE border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\" id=\"left_menu\">\n<TBODY>\n<TR>\n<TD width=\"20\" style=\"font-size: 12px\">&nbsp;</TD>\n<TD height=\"20\" align=\"left\" class=\"hilightoff\" onmouseover=\"className='hilighton'; this.style.cursor='hand';\" onmouseout=\"className='hilightoff';\" onclick=\"window.location.href('./?id=" . $d_3['id_index_pade_rzd'] . "')\"><CODE style=\"font-size: 9pt;\"><A class=\"left-menu-link\" title=\"" . htmlspecialchars($sql_3_site['descriptions']) . "\" href=\"./?id=" . $d_3['id_index_pade_rzd'] . "\">" . htmlspecialchars($sql_3_site['zagolovok_menu']) . "</a></CODE></TD>\n</TR>\n</TBODY>\n</TABLE>\n";
                }}}}

        }else{
        $left_menu = $left_menu . "<TABLE border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"100%\" id=\"left_menu\">\n<TBODY>\n<TR>\n<TD height=\"20\" align=\"left\" class=\"hilightoff\" onmouseover=\"className='hilighton'; this.style.cursor='hand';\" onmouseout=\"className='hilightoff';\" onclick=\"window.location.href('./?id=" . $d_2['id_index_pade_rzd'] . "')\"><CODE style=\"font-size: 9pt;\"><A class=\"left-menu-link\" title=\"" . htmlspecialchars($sql_2_site['descriptions']) . "\" href=\"./?id=" . $d_2['id_index_pade_rzd'] . "\">" . htmlspecialchars($sql_2_site['zagolovok_menu']) . "</a></CODE></TD>\n</TR>\n</TBODY>\n</TABLE>\n";
}}}}

// удаляем все переменные, кроме $left_menu (в ней собственно результат - меню :))
unset ($i);
unset ($sql_query);
unset ($massiv_rzd_i);
unset ($key);
//unset ($rzd_uroven); закомментировано т.к. нужно для постороения навигационной полосы
unset ($massiv_rzd);
unset ($indx_page_curr_rzd);
unset ($index_top_rzd);
unset ($part1_sql_query);
unset ($part2_sql_query);
unset ($razdeli_indeksnoy_stranitsi);
unset ($sql_2);
unset ($d_2);
unset ($sql_2_site);
unset ($sql_2_site_indx_rzd);
unset ($curr_razdel_pages_2);
unset ($pages_2);
unset ($sql_3);
unset ($d_3);
unset ($sql_3_site);
unset ($sql_3_site_indx_rzd);
unset ($curr_razdel_pages_3);
unset ($pages_3);
unset ($sql_4);
unset ($d_4);
unset ($sql_4_site);
unset ($sql_4_site_indx_rzd);
unset ($curr_razdel_pages_4);
unset ($pages_4);
чё-то коду меньше чем я думал :)

Добавлено: 2007-07-13 10:09:51
Alex Keda
мдя... без слёз не взглянешь..
чего стоят тока SELECT * когда надо всего одно поле :)))

Добавлено: 2007-07-13 10:46:13
Urgor
структуру таблицы можешь показать? а то аж крышу срывает.... :shock:

Добавлено: 2007-07-13 11:52:10
Alex Keda

Код: Выделить всё

-- 
-- Структура таблицы `razdel_table`
-- 

CREATE TABLE `razdel_table` (
  `rzd_1` int(3) NOT NULL default '0',
  `rzd_2` int(3) NOT NULL default '0',
  `rzd_3` int(3) NOT NULL default '0',
  `rzd_4` int(3) NOT NULL default '0',
  `rzd_5` int(3) NOT NULL default '0',
  `rzd_6` int(3) NOT NULL default '0',
  `id_index_pade_rzd` int(10) NOT NULL default '0',
  `vizible_name_rzd` varchar(128) collate cp1251_bin NOT NULL default '',
  PRIMARY KEY  (`id_index_pade_rzd`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin COMMENT='таблица разделов сайта';

-- 
-- Дамп данных таблицы `razdel_table`
-- 

INSERT INTO `razdel_table` (`rzd_1`, `rzd_2`, `rzd_3`, `rzd_4`, `rzd_5`, `rzd_6`, `id_index_pade_rzd`, `vizible_name_rzd`) VALUES 
(1, 0, 0, 0, 0, 0, 1000, 'www.lissyara.su'),
(1, 2, 0, 0, 0, 0, 1001, 'главная'),
(1, 3, 0, 0, 0, 0, 1002, 'форум'),
(1, 4, 0, 0, 0, 0, 1003, 'статьи'),
(1, 5, 0, 0, 0, 0, 1004, 'документация'),
(1, 6, 0, 0, 0, 0, 1005, 'опросы'),
(1, 7, 0, 0, 0, 0, 1006, 'поиск по сайту'),
(1, 4, 8, 0, 0, 0, 1007, 'FreeBSD'),
(1, 4, 8, 9, 0, 0, 1008, 'настройка'),
(1, 4, 8, 10, 0, 0, 1009, 'подсчёт траффика'),
(1, 4, 8, 11, 0, 0, 1011, 'Программы для FreeBSD'),
(1, 4, 12, 0, 0, 0, 1014, 'Очумелые ручки'),
(1, 4, 8, 13, 0, 0, 1015, 'почтовые системы'),
(1, 14, 0, 0, 0, 0, 1020, 'Downloads'),
(1, 14, 15, 0, 0, 0, 1021, 'boot disks'),
(1, 14, 15, 16, 0, 0, 1022, 'WinNT'),
(1, 14, 15, 17, 0, 0, 1023, 'DOS & Win9x'),
(1, 2, 18, 0, 0, 0, 1025, 'Страница авторов сайта'),
(1, 4, 12, 19, 0, 0, 1032, 'Компы'),
(1, 4, 12, 20, 0, 0, 1033, 'не тока компы - прочее'),
(1, 14, 21, 0, 0, 0, 1036, 'downloads -> Программы для форточек'),
(1, 2, 22, 0, 0, 0, 1038, 'главная -> история'),
(1, 4, 12, 23, 0, 0, 1047, 'очумелые ручки -> околокомпы'),
(1, 5, 24, 0, 0, 0, 1052, 'RFC'),
(1, 5, 25, 0, 0, 0, 1067, 'программирование'),
(1, 14, 15, 26, 0, 0, 1074, 'Прочие DOS`ы'),
(1, 4, 8, 27, 0, 0, 1078, 'Железки под фрёй'),
(1, 4, 8, 28, 0, 0, 1080, 'Мелочёвка'),
(1, 4, 8, 29, 0, 0, 1086, 'Программы для работы с FS'),
(1, 4, 8, 30, 0, 0, 1130, 'WWW'),
(1, 2, 31, 0, 0, 0, 1142, 'статистика поссещений.'),
(1, 4, 8, 32, 0, 0, 1146, 'Security'),
(1, 2, 33, 0, 0, 0, 1174, 'Архив статей'),
(1, 5, 34, 0, 0, 0, 1200, 'Specification of the Exim Mail Transfer Agent'),
(1, 14, 15, 35, 0, 0, 1065, 'прочие загрузочные диски'),
(1, 4, 8, 36, 0, 0, 1170, 'system'),
(1, 5, 37, 0, 0, 0, 1357, 'Документация поFreeBSD'),
(1, 5, 38, 0, 0, 0, 1400, 'LDAP'),
(1, 4, 8, 39, 0, 0, 1352, 'freebsd->games'),
(1, 4, 8, 40, 0, 0, 1353, 'Иксы'),
(1, 4, 8, 41, 0, 0, 1354, 'программирование (FreeBSD)'),
(1, 5, 37, 42, 0, 0, 1340, 'mpd'),
(1, 5, 43, 0, 0, 0, 1358, 'doc -> man');

Добавлено: 2007-07-13 11:54:01
Alex Keda
ага... тут даже не поллитра, а литр надо :)

Добавлено: 2007-07-13 12:16:18
Urgor
Ну с сортировка у тебя идет по id :) "....ORDER BY `id`" из таблицы site_table.... Может сделать ORDER BY `zagolovok_menu`? ;) И что значат rzd?

Добавлено: 2007-07-13 12:36:14
Alex Keda
раздел, наверно :))

Re: версия для печати.

Добавлено: 2007-07-18 7:30:08
Urgor
Пытался честно сплагиатить твою работу с меню, но.... моих познаний php явно не хватило :oops: Вот написал свою:

Код: Выделить всё

#
# Table structure for table 'section'
#

CREATE TABLE section (
  sectionID int(3) NOT NULL auto_increment,
  parentID int(3) NOT NULL DEFAULT '0' ,
  title varchar(255) NOT NULL DEFAULT '' ,
  content text ,
  PRIMARY KEY (sectionID),
  INDEX title (title)
);


#
# Dumping data for table 'section'
#
INSERT INTO section VALUES("1","0","About Site","This is a simple but useful tool and can either be used as a site menu system.");
INSERT INTO section VALUES("2","0","Other category","texttexttexttexttexttexttext");
INSERT INTO section VALUES("3","2","Second level category","texttexttexttexttexttexttext");
INSERT INTO section VALUES("4","3","Third level","texttexttexttexttexttexttext");
INSERT INTO section VALUES("5","0","Installation instruction","unpack the downloaded file!");
INSERT INTO section VALUES("6","0","Requirements","MySQL<br>PHP4+<br>Webserver (anything that can run PHP)");
INSERT INTO section VALUES("7","5","another level","texttexttexttexttexttexttext");
INSERT INTO section VALUES("8","5","umm now another one","texttexttexttexttexttexttext");
INSERT INTO section VALUES("9","7","you must be joking","texttexttexttexttexttexttext");
INSERT INTO section VALUES("10","4","bobo","texttexttexttexttexttexttext");
INSERT INTO section VALUES("11","4","oh boy","texttexttexttexttexttexttext");
И сам код для генерации меню:

Код: Выделить всё

<?
#database settings
function dbconnect (){
$mysql=mysql_connect("localhost", "SiteUser", "UserPassword");
mysql_select_db("urgor");
return $mysql;
}

function mytree($parentid, $subid, $menu, $level) {
  $dots = "<==$level==>";
  $sql = "select sectionID, parentID, title from section where parentID = '$parentid' order by title asc";
  $result=mysql_query($sql);
  while ($row = mysql_fetch_array($result)) {
    $output = $output . "<a href=\"$php_self?id=$row[parentID]\">$dots</a>&nbsp;&nbsp;<a href=\"$php_self?id=$row[sectionID]\">".stripslashes($row[title])."</a> (myid:$row[sectionID])(myparentid:$row[parentID])(mytreelevel:$level)<br>";  
    if ($subid == $row[sectionID]) $output = $output . $menu;  
  }
  if ($parentid > 0) {
    $sql = "select sectionID, parentID from section where sectionID = '$parentid'";
    $result=mysql_query($sql);
    $row = mysql_fetch_array($result);
    $output = mytree($row[parentID], $parentid, $output, ++$level);
  }
  $dots = '';
  for ($i = $level; $i > 0; $i--) {
    $output = str_replace("<==$i==>", $dots, $output);
    $dots .= '<img border="0" src="images/bul-path.gif" width="17" height="11">';
  }
  return $output;
}

$id = $_GET['id'];
if ($id == '') $id = 0;

#----------------------------------------------------------------------
dbconnect();
$menu = mytree($id,0,'',1);

echo $menu;

mysql_close();
?>

Re: версия для печати.

Добавлено: 2007-07-18 7:55:12
Alex Keda
вечером гляну - чё-то совсем у тя просто получилось.
Неправильно это - коду должно быть много :)))

Re: версия для печати.

Добавлено: 2007-10-30 11:20:36
kmb
может стоит использовать технологию Nested Sets или что-нибудь подобное... Имхо, для меню-деревьев самое-то...