Вывод меню и подменю. Дубль №3

Статус
В этой теме нельзя размещать новые ответы.

Mark&Ameli

Новичок
Вывод меню и подменю. Дубль №3

Две темы удалили, решил третью создать, но уже с другой формулировкой вопроса (ибо некоторым прежняя не нравится).
Есть бд, в ней таблица. В этой тоблице хранится меню и подменю. В таблице 3 поля: ID (порядковый номер записи), SUB (если поле является меню, хранится 0, если подменю, то хранится ID меню, к которому относится это подменю), TITLE (собственно название меню, либо подменю)
Выводится вся эта конструкция следующим образом. Каждая запись выводится как ссылка, которая передает ИД поля, в котором хранится. Если тыкнуть на ссылку, то, выводится вся конструкци по такому приципу: вначале выводится все, у чего ID<переданного и SUB=0. Затем выводится подменю, где SUB=переданному ID. Возникла такая проблема, при нажатии на подменю, выводится все меню, без подменюшек.
Без кода сложно объяснить, а код сюда закинуть нельзя, говорят большой он очень, поэтому я только кусок напишу:
PHP:
$result1=mysql_query("SELECT id, sub, title FROM `category` WHERE id<'$id' and sub='0' order by id LIMIT 0, 50") or die(mysql_errno($link));
              while ($ar1=mysql_fetch_array($result1))
                   {       echo"<tr><td>
                           <a href='?id=$ar1[id]'>&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar1[title]
Это начальная часть, ну и дальше идет соответствующим образом. А при нажатии на подменю, передается ид самого подменю, а так как оно больше чем меню, то и выводится все меню (тоесть выполняется условие ID<пересланого).
Вот, кое-как объяснил. И как быть... это не столько програмный вопрос, сколько логический...
 

Dmi

Новичок
БААААА....
Сейчас придут будут ругаться....

зы у меня есть исходники кнопки "БАБЛО"
 

Mark&Ameli

Новичок
Dmi
Кто прийдет, и кто будет ругаться?
И какие такие исходники кнопки? Какой кнопки?
 

Mark&Ameli

Новичок
Dmi
Хватит чушь всякую нести, давай говори по делу, если есть чего сказать. Не нужна мне никакая кнопка. Я обратился с конкретной проблемой, и хотелось бы выслушать соображения других людей по этому поводу....
 

Dmi

Новичок
Mark&Ameli
Я то же обращался......но это не помогло..как то не тот результат получился...так что ничего личного..просто я немного....как бы сказать...недоволен. Капич?
 

MadGreen

meninweb
скопируй ссылку по которой не открывается подменю
(я имею ввиду, сюда её скопируй)
 

Mark&Ameli

Новичок
MadGreen
Проблема не в открытие меню. Проблема в том, что при нажатии на любой пункт подменю, оно все сварачевается, и отображается все меню, без подменю. И дело в том, что при нажатии на подменю, передается ИД этого подменю, а так как ДИ подменю всегда больше самого меню, к которому оно относится, то и выполняется условие
PHP:
$result1=mysql_query("SELECT id, sub, title FROM `category` WHERE id<'$id' and sub='0' order by id LIMIT 0, 50") or die(mysql_errno($link)); 
              while ($ar1=mysql_fetch_array($result1)) 
                   {       echo"<tr><td> 
                           <a href='?id=$ar1[id]'>&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar1[title]
а все что дальше идет - игнорируется. Вот я и незнаю что передать при нажатии на подменю. Сейчас передается ИД, но толку от этого нету, хотя этот ИД и нужен...
Вот даже незнаю чего делать....
 

MadGreen

meninweb
ты приводишь код отображения самого меню...
а где выборка подменю?
 

Mark&Ameli

Новичок
MadGreen
Привожу полный код:
PHP:
echo"<table>";
if (!isset($id))
    {       $result=mysql_query("SELECT id, sub, title FROM `category` WHERE sub='0' order by id LIMIT 0, 50") or die(mysql_errno($link));
            while ($ar=mysql_fetch_array($result))
                   {       echo"<tr><td>
                           <a href='?id=$ar[id]'>&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar[title]</a></td></tr>";
                   }
    }
if (isset($id))
    {
            $result1=mysql_query("SELECT id, sub, title FROM `category` WHERE id<'$id' and sub='0' order by id LIMIT 0, 50") or die(mysql_errno($link));
              while ($ar1=mysql_fetch_array($result1))
                   {       echo"<tr><td>
                           <a href='?id=$ar1[id]'>&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar1[title]</a></td></tr>";
                   }
             $result3=mysql_query("SELECT id, sub, title FROM `category` WHERE id='$id' and sub='0' LIMIT 0, 50") or die(mysql_errno($link));
              while ($ar3=mysql_fetch_array($result3))
                   {       echo"<tr><td>
                           <a href='?id=$ar3[id]'>&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar3[title]</a></td></tr>";
                   }
             $result4=mysql_query("SELECT id, sub, title FROM `category` WHERE sub='$id' LIMIT 0, 50") or die(mysql_errno($link));
              while ($ar4=mysql_fetch_array($result4))
                   {       echo"<tr><td>
                           <a href='?id=$ar4[id]'>&nbsp&nbsp&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar4[title]</a></td></tr>";
                   }
            $result2=mysql_query("SELECT id, sub, title FROM `category` WHERE id>'$id' and sub='0' order by sub LIMIT 0, 50") or die(mysql_errno($link));
              while ($ar2=mysql_fetch_array($result2))
                   {       echo"<tr><td>
                            <a href='?id=$ar2[id]'>&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar2[title]</a></td></tr>";
                   }
    }
echo "</table>";
echo "<br>";
Вот так вот выглядит весь код. Из него ясно почему при нажатии на подменю, оно пропадает. Вопрос в том, как это устранить...
 

MadGreen

meninweb
а в чем смысл твоего скрипта вообще? отображать подменю только для активного родительского элемента меню?
если да, то зачем все так сложно?
 

Mark&Ameli

Новичок
Нет, суть скритпта отображать все меню, при нажатии на меню, если есть подменю относящееся к этому меню, то отображать все меню, и подменю...
Да, вполне может быть что я все усложняю. Но другой иди мне в голову не пришло... А есть какой-то способ по проще? Если есть, то с удовольствием выслушаю....
 

MadGreen

meninweb
Автор оригинала: Mark&Ameli
Нет, суть скритпта отображать все меню, при нажатии на меню, если есть подменю относящееся к этому меню, то отображать все меню, и подменю...
PHP:
echo"<table>";
if (!isset($id))
    {       $result=mysql_query("SELECT id, sub, title FROM `category` WHERE sub='0' order by id LIMIT 0, 50") or die(mysql_errno($link));
            while ($ar=mysql_fetch_array($result))
                   {       echo"<tr><td>
                           <a href='?id=$ar[id]'>&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar[title]</a></td></tr>";
                   }
    }
else
    {
            $result1=mysql_query("SELECT id, sub, title FROM `category` WHERE sub='0' order by id LIMIT 0, 50") or die(mysql_errno($link));
              while ($ar1=mysql_fetch_array($result1))
                   {       echo"<tr><td>
                           <a href='?id=$ar1[id]'>&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar1[title]</a></td></tr>";
                           if ($ar1[id] == $id)
                           {
                           $result2=mysql_query("SELECT id, sub, title FROM `category` WHERE sub='$id' LIMIT 0, 50") or die(mysql_errno($link));
                           while ($ar2=mysql_fetch_array($result2))
                                  {
                                  echo"<tr><td>
                                  <a href='?id=$ar2[id]'>&nbsp&nbsp&nbsp<img src='images/shtuka.gif' border=0>&nbsp$ar2[title]</a></td></tr>";
                                  }
                           }
                   }
    }
echo "</table>";
echo "<br>";
должно работать...

-~{}~ 03.06.06 19:55:

и кстати...
привыкни выносить переменные из текста в echo и правильно пиши &nbsp: при такой записи некотороые браузеры будут брыкаться...

-~{}~ 03.06.06 19:59:

сейчас подумал что будет если id будет относиться к подменю...
нужно прятать подменю при переходе к другому родительскому элементу?

-~{}~ 03.06.06 20:02:

имхо, проще передавать не только id, а разделить на id меню и sub_id подменю, тогда будет однозначность...
 

Mark&Ameli

Новичок
MadGreen
Проверил, результат такой же как и раньше. Изначально отображается меню, при клацанье на меню открывается подменю (при условии что оно есть). Все бы хороше, но, при клацанье на подменю, оно пропадает, отображается просто все меню, а подменю и след простыл... :( Надо дабы при клацанье на меню, отображалось подменю (если оно есть), а при калацанье на подменю, оно не пропадало, а оставалось на месте....
 

MadGreen

meninweb
варианта 2: или переделывай структуру на два id или передавай по клику id родительского меню и id подменю, тогда оно не будет пропадать
 

Фанат

oncle terrible
Команда форума
Тема закрыта.

Проблемы личного характера и бессмысленные споры между участниками не являются предметом обсуждения форума.
Обсуждайте их в привате.

-~{}~ 03.06.06 20:05:

MadGreen
если ты взялся переписывать за него код - возьми у него контакт и делай это приватно.

Для форума же ваша беседа ценности никакой не представляет
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху