За последние 24 часа нас посетил 68291 программист и 1651 робот. Сейчас ищут 1025 программистов ...

Помогите организовать выпадающее меню с выводом из MySQL

Тема в разделе "PHP для новичков", создана пользователем Simbioziz, 5 янв 2011.

  1. Simbioziz

    Simbioziz Активный пользователь

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Вот что у меня пока есть!

    База
    [sql]CREATE TABLE IF NOT EXISTS `page` (
    `id` int(8) NOT NULL AUTO_INCREMENT,
    `sub_id` int(255) NOT NULL,
    `pos` smallint(3) NOT NULL DEFAULT '0',
    `page_name` varchar(255) COLLATE cp1251_bin NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin AUTO_INCREMENT=180 ;
    [/sql]

    Нужно организовать вывод из базы в выпадающее меню!
    Помогите пожалуйста, если будут вопросы с удовольствием помогу!

    При добавлении страницы из админки в базу, ей назначается ID автоматом, а SUB_ID назначается в соответствии с ID но первому уровню меню параметру SUB_ID назначается "0". Это для того чтоб выгребать из базы корень менюшки!

    Выглядит все примерно так:
    id----------sub_id-----------page_name
    1 0 Главная
    2 0 О нас
    3 0 Продукция
    4 3 Кружки
    5 3 Ручки
    6 3 Пистоны)
    7 1 Не главная
    8 7 Точно не главная
    9 6 Хорошие
    10 6 Плохие

    На Выходе должно быть так:

    Главная-----------------О нас------------------Продукция
    --}Не главная-------------------------------------}Кружки
    --}Точно не главная-----------------------------}Ручки
    -----------------------------------------------------}Пистоны)
    ----------------------------------------------------------}Хорошие
    ----------------------------------------------------------}Плохие

    В теории у меня все хорошо, но вот как на практике реализовать я не понимаю!

    Помогите пожалуйста дяденьки програмисты!
     
  2. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    задай каждому меню ID > создай подменю для конкретного меню.

    Я пример приведу из Smarty без подменю просто меню писал)

    и сам tpl
     
  3. Simbioziz

    Simbioziz Активный пользователь

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Я со Smarty совсем не дружу(
    Вот меню которое сделали в верстке макета(((
    Пипец какое глупое, но именно его нужно использовать!

    HTML:
    1.  
    2. <div class="header">
    3.     <div id="ddtopmenubar" class="mattblackmenu">
    4.         <ul>
    5.             <li><a href="#" rel="ddsubmenu">Главная</a></li>
    6.             <li><a href="#" rel="ddsubmenu1">О нас</a></li>
    7.             <li><a href="#" rel="ddsubmenu2">Продукция</a></li>
    8.         </ul>
    9.     </div>
    10.     <br clear="all" />
    11.  
    12.     <ul id="ddsubmenu" class="ddsubmenustyle">
    13.       <li class="vmnuitem"><a href="#">Не главная</a></li>
    14.       <li class="vmnuitem"><a href="#">Точно не главная</a></li>
    15.     </ul>
    16.  
    17.     <ul id="ddsubmenu1" class="ddsubmenustyle">
    18.       <li><a href="#">Пистоны)</a>
    19.         <ul>
    20.             <li><a href="#">Хорошие</a></li>
    21.             <li><a href="#">Плохие</a></li>
    22.         </ul>
    23.       </li>
    24.       <li><a href="#">Ручки </a></li>
    25.     </ul>
    26. </div>
    27.  
     
  4. Simbioziz

    Simbioziz Активный пользователь

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Простите за тупизм, понимаю что данная тема наверняка поднималась! НО я уже не первый день ищу ответов по сети и не могу найти нужное решение!

    Прошу всех кто прочитал, если не советом и решением, то ссылочкой помогите! ;))
    Попинайте меня по форуму и подобным темам если кому попадалась!

    Спасибо!
     
  5. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  6. Simbioziz

    Simbioziz Активный пользователь

    С нами с:
    24 июн 2008
    Сообщения:
    14
    Симпатии:
    0
    Принцип таков!
    Но выводить нужно из моей базы! Т.е. как организовать вывод с самого начала!
    От построение массива из базы и вывода в сам макет!
    Не могу понять как выводить из базы получилось только вот так!

    PHP:
    1. <?PHP
    2. $result = mysql_query("SELECT * FROM page WHERE sub_id='$id'",$db);
    3. $navshow = mysql_fetch_array($result);
    4. if ($navshow['sub_id'] >= 1) {
    5.  $qw=0;
    6.  echo "<ul id='ddsubmenu$qw' class='ddsubmenustyle'>\n";
    7. $cats = mysql_query("SELECT * FROM page WHERE hide='show' AND sub_id='$id' ");
    8. for($i=0;$i<mysql_num_rows($cats);$i++)
    9. { $qw++;
    10. $res = mysql_query("SELECT * FROM page WHERE hide='show' AND sub_id =".mysql_result($cats,$i,0)."");
    11.  
    12. echo "<li><a href='index.php?id=".mysql_result($cats,$i,0)."&sub_id=".mysql_result($cats,$i,1)."' title='".mysql_result($cats,$i,5)."'>".mysql_result($cats,$i,5)."</a>\n";
    13. echo "<ul>\n";
    14. while($row = mysql_fetch_assoc($res))
    15. echo "<li><a href='index.php?id=".$row["id"]."&sub_id=".mysql_result($cats,$i,1)."' title='".$row["page_name"]."'>".$row["page_name"]."</a></li>\n";
    16. if (isset($row)) {echo "</ul>\n</li>";}
    17. }
    18.  echo "</ul>\n";
    19. }
    20. ?>
     
  7. d1n90

    d1n90 Активный пользователь

    С нами с:
    2 фев 2012
    Сообщения:
    1
    Симпатии:
    0
    Цех получатель<br>
    <select name="ceh" size = “1” width=160>
    <?
    $query="SELECT * FROM `cehi`";
    $result = mysql_query($query);
    $kol= mysql_numrows($result);
    $x=0;
    while ($x < $kol):
    $num=mysql_result($result, $x, 'number');
    $nam=mysql_result($result, $x, 'name');

    print "<option value=”$num”>$nam</option>";
    $x++;
    endwhile;
    ?>
    </select>
     
  8. AndreJM

    AndreJM Активный пользователь

    С нами с:
    25 янв 2012
    Сообщения:
    522
    Симпатии:
    0
    d1n90, ну круто, чо ...