Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка
 
 автор: GhosTer   (17.05.2009 в 21:22)   письмо автору
 
 

Сразу предупреждаю что с PHP на извините не хотел)

У меня есть таблица catalog с следующими данными:
ID Name CatalogID
1 Хлам 0
2 НеХлам 0
3 МегаХлам 0
4 ПодХлам! 1
5 ПодХлам2 1
6 ПодМегаХлам 3
7 ПодМегаХлам2 3

ID - идентификатор каталога.
Name - его наименование.
CatalogID - указатель на то в каком каталоге находится данный подкаталог(как то так)

В общем суть в том, что бы вывести из таблици следующую структуру:

-Хлам
   -Подхлам!
   -Подхлам2
-НеХлам
-МегаХлам
    -ПодМегаХлам
    -ПодМегаХлам2


Попытался сделать так:

function ShowMapCatalog($IDCatalog) //select database
{
        $ath = mysql_query("select * from ".TABLE_CATALOG." WHERE CatalogID=".$IDCatalog.";");

        if($ath)
        {
          $str="<ul>";
          while($author = mysql_fetch_array($ath))
          {
            $str=$str."<li>".$author['Name']."</li>".ShowMapCatalog($author['CatalogID']);
          }
          $str=$str."</ul>";
        }

    return $str;
}

echo ShowMapCatalog(0);


Как вы наверное догадались, выводит пустоту)))

Поскажите как правильно сделать!!!!!
Через месяц диплом сдавать, а я только сел за него)

  Ответить  
 
 автор: Trianon   (17.05.2009 в 23:23)   письмо автору
 
   для: GhosTer   (17.05.2009 в 21:22)
 

ShowMapCatalog($author['CatalogID'])

Здесь Вы явно напутали с полем.
Но ошибка в чем-то другом.
А вывод диагностик у Вас заблокирован, похоже.

  Ответить  
 
 автор: 324234234   (18.05.2009 в 00:29)
 
   для: GhosTer   (17.05.2009 в 21:22)
 

Наиболее вероятные причины:
- запрос выполняется с ошибкой
- в базе нет записей с CatalogID = 0

А вообще у вас будет зацикливание (или как это правильно сказать для рекурсии?) жопа

  Ответить  
 
 автор: GhosTer   (18.05.2009 в 06:58)   письмо автору
 
   для: 324234234   (18.05.2009 в 00:29)
 

НИКАКОЙ ЖОПЫ ТУТ НЕТ!
Великолепный скрипт) теперь)

Явно напутали с полем.
И ошибка именно там.
А вывод диагностик заблокирован( СПС

Нашел ошибку в строке
$str=$str."<li>".$author['Name']."</li>".ShowMapCatalog($author['CatalogID']); 

Она должна выглядеть вот так
$str=$str."<li>".$author['Name']."</li>".ShowMapCatalog($author['ID']); 


Всё работает!!!!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования