|
|
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
Добрый день, возник вопрос, есть ли смысл использовать динамическое меню с одним вложением php+MySQL или просто в HTML написать. В первом варианте я использую две таблицы: в первой таблице основное меню, во второй таблице строка подменю и ключ для первой таблицы. Идея создать ассоциативный массив из двух таблиц и затем выводить на экран результат. У меня возникли сомнению по поводу нужно ли это все, с одной стороны, я могу менять свою "менюшку" изменив только строки таблицы в базе, но с другой стороны при таком подходе будет задержки. Если использовать HTML то менять "менюшку" нужно в коде. Если все-таки вариант динамический, может кто посоветует алгоритм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 11:53:56 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
K.S.A.81, если у тебя будет какая то админка по изменению всего этого делай через базу. А если меню небольшое вынеси в отдельный файл и инклудь где надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 12:03:36 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
K.S.A.81В первом варианте я использую две таблицы: в первой таблице основное меню, во второй таблице строка подменю и ключ для первой таблицы. а если появится еще одно подменю опять таблицу добавите ? Это все можно хранить в одной таблице, смотрите в сторону id parent_id или nested sets ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 13:23:16 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
K.S.A.81с одной стороны, я могу менять свою "менюшку" изменив только строки таблицы в базе, но с другой стороны при таком подходе будет задержки.Используйте кеш для хранения готового меню. Не каждый же день/час меняете набор пунктов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 13:35:04 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
artas, допустим будет таблица id, title, parent_id 1 Main 2 Parent_1 null 3 Parent_2 null 4 Parent_3 Null 5 Child_1 2 6 Child_2 2 7 Child_3 2 8 Child_4 3 как тогда сделать правильную выборку для создания меню, я так подозреваю, что в результате я должен получит ассоциативный массив, из которого потом получить меню дело техники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 17:13:53 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
vkle, Я думал над этим, просто хотелось узнать что предпочтительнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 17:17:59 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
K.S.A.81, так как меню относительно небольшое (врядли больше 1000 пунктов). Достается "селект * фром таблица_меню". Далее, преобразовываем на клиенте, например этим алгоритмом в дерево..... Profit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 17:57:07 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
K.S.A.81vkle, Я думал над этим, просто хотелось узнать что предпочтительнее.Вариантов много. Можно при изменениях, связанных с меню, через админку генерить файл. В смысле, при сохранении изменений. Это самый простой способ. Можно проверять дату создания файла, и, если прошло более, скажем, суток, то генерить новый. Еще можно по крону запускать обновление файла, но это, скорее всего, уже излишне сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2012, 18:06:22 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
хочу поделиться тем, что у меня получилось +----+----------------------+-----------+ | id | title | parent_id | +----+----------------------+-----------+ | 1 | Гланая | NULL | | 2 | Офисное ПО | NULL | | 3 | Системное ПО | NULL | | 4 | Средства Связи | NULL | | 5 | Операционные системы | NULL | | 6 | Браузеры | 4 | | 7 | Почта | 4 | | 8 | Торенты | 4 | | 9 | Общие | 4 | | 10 | Безопасность | NULL | | 11 | Антивирусы | 10 | | 12 | АнтиСпам | 10 | +----+----------------------+-----------+ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 18:38:34 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
Из таблицы получил массив: [0] => Array ( [id] => 1 [title] => Гланая [parent_id] => ) [1] => Array ( [id] => 2 [title] => Офисное ПО [parent_id] => ) [2] => Array ( [id] => 3 [title] => Системное ПО [parent_id] => и т.д. =========================================== и затем с помощью вот такого цикла =========================================== foreach($arr as $n => $m) { if (!$m['parent_id']) $arr_menu[$m['id']]['title']=$m['title']; if ($m['parent_id']) $arr_menu[$m['parent_id']]['children'][]=$m['title']; } =========================================== получил [1] => Array ( [title] => Гланая ) [2] => Array ( [title] => Офисное ПО ) [3] => Array ( [title] => Системное ПО ) [4] => Array ( [title] => Средства Связи [children] => Array ( [0] => Браузеры [1] => Почта [2] => Торенты [3] => Общие ) ну, а таким массивом уже можно строить меню, я так понимаю по такому же принципу можно и 3-х уровневое меню строить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 18:59:45 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
K.S.A.81, я кому кинул ссылку на преобразование в дерево ????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2012, 11:17:12 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток.Возможно ли создать динамическое list\menu в поле динамически построенной таблицы?Если да то как ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 20:10:24 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
Timoha21, Подробнее опиши с примером желательно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 08:59:42 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogu, Создаем динамическую таблицу вот так: <?php echo '<table width="555" border="1">'; echo '<tr> <th width="100" scope="col">ID</th> <th width="271" scope="col">FIO</th> <th width="131" scope="col">DR </th> <th width="100" scope="col">Telefon</th> <th width="131" scope="col">Adres </th> <th width="271" scope="col">Doljnost</th> <th width="100" scope="col">Consultant </th> <th width="131" scope="col">Dop.Information</th> </tr>'; include "config.php"; $query= "SELECT IDclient,name_client,DATE_FORMAT(dr,'%d.%m.%Y') AS dr,telefon,adres,work,IDconsul,dopinfo FROM clients";//} $cat= mysql_query($query); while ($row = mysql_fetch_assoc($cat)) { echo "<tr> <td>".$row ['IDclient']."</td> <td>".$row ['name_client']."</td> <td>".$row ['dr']."</td> <td>".$row ['telefon']."</td> <td>".$row ['adres']."</td> <td>".$row ['work']."</td> <td>".$row ['IDconsul']."</td> <td>".$row ['dopinfo']."</td> </tr>"; } echo "</table>"; ?> Получили табличку, а теперь необходимо сделать эту табличку с дополнительным столбцом? содержащим компонент формы допустим list\menu. не могу догнать как это сделать((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 14:44:13 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
Timoha21, 1. Используйте тег SRC для оформления кода. 2. Не понятно, откуда должен браться этот list\menu. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 15:51:16 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
Timoha21, А че сразу в цикле не вариант вставлять? Можно еще яваскриптом попробовать. Но сразу лечше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 15:58:16 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogu, конечно в цикле и сразу, это не вызывает сомнений. проблема в синтаксисе(( вот наш list\menu: <select name="menu1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> Вот наш цикл while ($row = mysql_fetch_assoc($cat)) { echo "<tr> <td>".$row ['IDclient']."</td> <td>".$row ['name_client']."</td> <td>".$row ['dr']."</td> <td>".$row ['telefon']."</td> <td>".$row ['adres']."</td> <td>".$row ['work']."</td> <td>".$row ['IDconsul']."</td> <td>".$row ['dopinfo']."</td> <td>"КАК СЮДА ВСТАВИТЬ НАШЕ МЕНЮ???</td> </tr>"; } всяко пробовал, ну никак не получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 17:45:29 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
Timoha21, А меню одинаковое или отличается чем то? Если одинаковое то вот так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. в чем проблема то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 17:52:30 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogu,))) с головой вероятно, а насчет меню так не важно отличается или нет.спасибо)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 17:55:17 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
Timoha21, Это прикол такой был?) Я ниче не понял. Но пожалуйста) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2012, 17:56:32 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogu, а если нам надо сделать это меню с заполнением из базы пусть например будет консультант(IDcon,namecon) то как в данной ситуации поступить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 16:32:01 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
Timoha21, Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. к примеру так, если правильно понял. Но если они одинаковые, сразу вытащи всех консультантов чтобы запросов кучу не плодить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 17:57:09 |
|
||
|
Динамическое меню php
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogu, Код: php 1. 2. 3. 4. ошибочка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 17:59:41 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=140&tid=1464923]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
95ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 479ms |

| 0 / 0 |
