Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
dogmar
0 / 0 / 0
Регистрация: 13.07.2011
Сообщений: 54
#1

усовершенствование скрипта

26.07.2011, 10:29. Просмотров 349. Ответов 2
Метки нет (Все метки)

Здравствуйте, Имею рабочий скрипт который выводит Меню Родителей и детей. соответственно 2 цикла
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
42
43
44
<ul id="navmenu-v">
<?php
 
$tree_res = mysql_query("SELECT * FROM Subdivision WHERE Parent_Sub_ID = '0'"); //после этого не мешало бы проверку поставить вернул ли что-нибудь запрос
while($menu_tree = mysql_fetch_assoc($tree_res))
{
?>
                
                                
<li><a href="/"><?php echo $menu_tree['name'] ?></a>
 
<?php
//эта часть если ты не уверен что у тебя есть 2 уровень, ты проверяешь на наличие детей этого пункта меню
        $sub_tree_res = mysql_query("SELECT * FROM Subdivision WHERE Parent_Sub_ID = ' ".$menu_tree['id']." ' ");
        if (!empty($sub_tree_res))
        {
?>
 
                                
                <ul>                        
<?php
 
                while($sub_menu_tree = mysql_fetch_assoc($sub_tree_res))
                {
 
?>
                                                
                                                <li><a href="catalogview.php?id=<?php echo $sub_menu_tree['id'] ?>"><?php echo $sub_menu_tree['name'] ?></a></li>
<?php
 
                }
 
?></ul>
                                       
 
<?php
        }
?>
 
                    
<?php
}
 
?></ul>
Помогите добавить третий цикл, что бы выводить еще Детей детям Если они есть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2011, 10:29
Ответы с готовыми решениями:

Усовершенствование сайта на php внешним скриптом
Здравствуйте всем, есть сайт на php, его задача отображать поездки грузовиков в графиках и на...

Как назначить переменной php-скрипта значение переменной скрипта js?
Как назначить переменной php-скрипта значение переменной скрипта js? Javascript находится в другом...

Вызов php скрипта из другого скрипта
Есть такой код echo ('&lt;img src=&quot;d.php?q='.$f.'&amp;s='.$z0.'&quot; width=&quot;50%&quot;&gt;'); Т.е. передаем скрипту...

Создание скрипта
Доброго времени суток. Если не в том разделе пишу, тогда перенапрвте. Меня интересует такой...

Зависание скрипта
В общем проблема состоит в том что в некоторый момент страница просто зависает при перезагрузке, на...

2
__PION__
955 / 796 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
26.07.2011, 15:43 #2
Цитата Сообщение от dogmar Посмотреть сообщение
Помогите добавить третий цикл, что бы выводить еще Детей детям Если они есть
а если понадобится 100 детей, 100 раз будешь писать циклы?
Здесь нужна рекурсия.
Вот пример такой ф-ии
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
// по умолчанию уровень = 0
function ShowMenu($parent_id, $level = null) {
    
        // делаем из 0 первый уровень   
    $level++;
 
    $query = "SELECT * FROM Subdivision WHERE Parent_Sub_ID = $parent_id";
    $result = mysql_query($query);
        
    if (mysql_num_rows($result) > 0) {
        echo "<ul>";
        while ($menu_tree = mysql_fetch_array($result)) {
            echo "<li>";
            echo "<a href=/?id=" . $menu_tree["id"] . ">" .
                $menu_tree['name'] . "</a>";
                       
                        // Здесь эта же ф-я вызывается еще раз (сколько уровней, столько раз и будет вызываться)
            ShowMenu($id, $level);
                        // здесь пролезаем на 1 уровень внутрь
            $level--;
        }
        echo "</ul>";
    }
 
}
 
// а так вызываем ф-ю
ShowMenu(0);
Это на выходе (выводе из БД).
А при сохранении в БД у тя в таблице БД должно быть еще поле, в которое заносится id родительского элемента.

Здесь $menu_tree["id"] - id - это поле с идентификатором в БД, у тя олно может называться по другому
а здесь /?id - параметр массива $_GET. Его можешь убрать, если те не нужны ссылки
0
dogmar
0 / 0 / 0
Регистрация: 13.07.2011
Сообщений: 54
26.07.2011, 15:55  [ТС] #3
детей у меня больше 2ух быть не могут, и к трём циклам мне нужно применить разные стили,в рекурсии кажется нельзя такое.я Буду благодарен если к моему скрипту добавите третий цикл
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2011, 15:55

Выполнение скрипта
Добрый вечер! Ребят может кто подсказать в какую сторону смотреть или рассказать как делается...

Модификация скрипта
&lt;?php function contains( $string, array $search, $caseInsensitive=false ){ $exp =...

Запуск скрипта
Всем привет! Мне нужен скрипт теста, скачал, установить не получилось. Сделал все как в инструкции,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru