Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Рекурсия.
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
zyablik
Участник
Средний рейтинг: 2.58 | Оценок: 12
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Москва
Публикаций: 98
Статус: zyablik в оф-лайне
Рекурсия. [сообщение #65820]

чета неправильно работает.. лишний раз цикл пробегается.. поправьте плиз!

#
# Структура таблицы `category`
#

CREATE TABLE `category` (
`ElementID` int(3) unsigned NOT NULL auto_increment,
`ParentID` int(3) unsigned default '0',
`ElementName` varchar(150) default NULL,
PRIMARY KEY (`ElementID`)
) TYPE=MyISAM AUTO_INCREMENT=14 ;

#
# Дамп данных таблицы `category`
#

INSERT INTO `category` VALUES (1, 0, 'Машины');
INSERT INTO `category` VALUES (2, 1, 'Лада');
INSERT INTO `category` VALUES (3, 2, 'модель 12.01');
INSERT INTO `category` VALUES (4, 1, 'Ваз');
INSERT INTO `category` VALUES (5, 4, '21,06');
INSERT INTO `category` VALUES (6, 4, '21,7');
INSERT INTO `category` VALUES (7, 0, 'Стиралки');
INSERT INTO `category` VALUES (8, 7, 'АЕГ');
INSERT INTO `category` VALUES (9, 8, 'Мега стиралка');
INSERT INTO `category` VALUES (10, 7, 'Бош');



PHP:


<?
function getchildren($id) {
    
$q = "SELECT * FROM category WHERE ParentID = $id";
    echo 
$q."<br>";
    
$q = mysql_query($q);
    if(
sizeOf(mysql_num_rows($q))>0){
        
$html .= "<ul>";
        while(
$row = mysql_fetch_array($q)) {
            
$html .= "<li>";
            
$html .=  $row[ElementName] ;
            
$html .=  "</li>";
//            $qw = "SELECT * FROM category WHERE ParentID = $row[ElementID]";
//            echo $qw."<br>";
            
$qw = mysql_num_rows($q);
            if(
sizeOf($qw) > 0) {
                
$html .= getchildren($row[ElementID]);
            }
        }
        
$html .= "</ul>";
    }
    return 
$html;
}

echo 
getchildren(0);
?>




мля.. вот я слепой... ошибочка то банальная.. из серии масло маслянное.. обратите внимание на строчку

PHP:
<? if(sizeOf(mysql_num_rows($q))>0) ?>{


и сразу поймете..

Сообщение было отредактировано zyablik 28-04-2004 в 13:06

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 28-04-2004 12:41
Нажмите сюда для просмотра профайла zyablik Отправить Персональное сообщение zyablik Посетить домашнию страничку zyablik! Найти сообщения от zyablik Добавить zyablik в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 12:54.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.31212592 seconds (98.59% PHP - 1.41% MySQL) with 21 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.