|
|
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
есть база в sql, в ней 7 таблиц которые отвечают за 7 разных меню. нужно на перле написать запрос \или не запрос\ для вывода меню, но в виде дерева menu1 |-submenu1 |-submenu2 |--submenu21 .... |-submenuN ... menu2 |-submenuN ... |----submenu3 и так далее... какие таблицы в базе еще создать? есть: id - порядковый номер menu - название меню url_menu - ссылка на меню Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 13:47 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
vidoqкакие таблицы в базе еще создать? есть: id - порядковый номер menu - название меню url_menu - ссылка на менюВариант 1. Добавить поле parent_id (id родителя) Вариант 2. Nested sets - http://www.getinfo.ru/article610.html + http://www.getinfo.ru/article689.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 13:50 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
про parent_id все понятно! мне сразу так сказали сделать! просто я понять не могу как это сделать!!! добавлю я парент ид а дальше что, что в коде писать чтобы деревце появилось такое?! Nested sets не подходит, там отдельный модуль, такое не преведствуется!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 13:57 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
vidoqдобавлю я парент ид а дальше что, что в коде писать чтобы деревце появилось такое?!А дальше выводите дерево. Что такое рекурсивные алгоритмы вам известно? Нет? Читайте материал в интернете.Nested sets не подходит, там отдельный модуль, такое не преведствуется!!!Бред какой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 14:15 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
*А дальше выводите дерево. Что такое рекурсивные алгоритмы вам известно? Нет? Читайте материал в интернете. блин про рекурсии я тоже слышал, но что читать то именно?! как устроенно это все?! я вообще можно сказать с таким сталкиваюсь только сейчас, и понять все и сразу пока сложновато... *Бред какой. да нет почему бред, все очень даже логично! зачем использовать еще что то. если на перле функций встроенных хватает чтобы этакое написать!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 14:27 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
vidoq *А дальше выводите дерево. Что такое рекурсивные алгоритмы вам известно? Нет? Читайте материал в интернете. блин про рекурсии я тоже слышал, но что читать то именно?! как устроенно это все?! я вообще можно сказать с таким сталкиваюсь только сейчас, и понять все и сразу пока сложновато...Начинать надо с простого. Вам похоже вообще программирование пока не знакомо. А вы сразу за такие дела берётесь. *Бред какой.да нет почему бред, все очень даже логично! зачем использовать еще что то. если на перле функций встроенных хватает чтобы этакое написать!!!А там что, не на perl'е примеры? И если есть встроенные - так используйте - сюда то зачем пришли? Носом в мануал - и вперёд, использовать встроенные функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 14:43 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
И вообще по первой ссылке приведена теория. На чём вы её будете реализовывать (хоть на BC++) - никакого значения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 14:45 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
добавил поле parent и еще одно level parent - к кому принадлежит level - глубина меню далее хотелось использовать так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. в конце концов он мне выводит первую строчку из базы вида (1)название меню(0) и все, + в отладке пишет что неможет передовать $x... вроде как я понял!!! что добавить как доработать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 15:37 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
а лучше зайди в ветку mssql, там этого добра много обсуждается. А perl тут вобщем-то сбоку-припёку. Грамотная процедура выдаст тебе меню в любом виде, а клиент может быть любой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 07:25 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
нет я конечно понимаю, просто с запросом то чего и откуда брать как сортировать у меня все впорядке. а вот perl то как раз мне больше нужен чем mssql. запрос то из перла делать, знал бы как делать вопросов бы не было! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 07:39 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
у менян тут опечатка в коде нужно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 07:42 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. 42. 43. --- "Raffiniert ist der Herr Gott, aber boshaft ist Er nicht." Albert Einstein ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 10:42 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
интересное кино, скрипт поставил -> спасибо. Код: plaintext 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. 42. 43. 44. 45. 46. 47. но проблема в том что он не отображает меню как надо! он отображает в виде: 1. Технико-экономическое планирование 2. Технико-экономическое планирование 3. Технико-экономическое планирование 4. Технико-экономическое планирование 5. Технико-экономическое планирование 6. Технико-экономическое планирование 7. Технико-экономическое планирование причем само "Технико-экономическое планирование" - стоит в id=42 \это самое последнее меню\ а вед до id=42 есть еще меню. Хотя кол-во определенно верно (7). но и под меню еще не выводятся..((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 12:46 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
Небольшой bugfix: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 12:59 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
Ещё bugfix: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 13:03 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
сделал все как ты написал! только вот проблемка... когда он выводит меню, то он выводит все id начиная с 1 до 49 \их всего столько\ причем 1-7 меню он выводит нормально, со всеми подменю... а остальные он начинает новый рекурсивный запрос, и занова проходится по id хотя берет он их уже с parent - вроде. я думал как бы все это сделать, так и не додумал..((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 14:52 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
Ляпни сюда аттачментом архив с полным кодом скрипта + пример вывода. А то, блин, игра "черный ящик" получается :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 19:21 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
вот держи, описалово внутри! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 08:35 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
По поводу глюков сравнения - надо локальные переменные объявлять как my ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 10:40 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
блин а ты прав) спасибо. только вот проблема то та осталась, он все равно выводит мне меню равно всем id из базы! т.е. меню то отображается все \ну ты видел\ а вот дальше уже идет зацикливание и выводятся все остальные ид...((( как сделать? смотрели смотрели на скрипт, короче ничегог плохого в нем не увидели. в базе тоже все отлично, левых ссылок и ссылок на самого себя нет. короче не знаем что и делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:22 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
Я протупил. Нужно чуть исправить: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:35 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
да не насчет глючных - это пустяки! а вот то что он все равно не работает .... это да))) bugfix не помог, может что то другое в нем поменять? все равно также выводит огромное меню....((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:34 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
Код: plaintext current - какое подменю развернуть depth - как глубоко - сколько подуровней показывать P.S. Вот эта строка if(ref $recs{$parent}){ должна была привести к выводу только 7 корневых пунктов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:49 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
Ещё fix: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:51 |
|
||
|
(Perl) perl+ms sql создание дерево меню из данных sql
|
|||
|---|---|---|---|
|
#18+
СУПЕР!!! все стало нормально работать!!! СПАСИБО тебе ХМ:) база - id, parent, url_menu, menu Код: plaintext 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 15:59 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33070997&tid=1478251]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
221ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 555ms |

| 0 / 0 |
