За последние 24 часа нас посетили 18014 программистов и 1676 роботов. Сейчас ищут 1093 программиста ...

сортировка каталога

Тема в разделе "PHP для новичков", создана пользователем GhosTer, 17 май 2009.

  1. GhosTer

    GhosTer Активный пользователь

    С нами с:
    14 сен 2008
    Сообщения:
    9
    Симпатии:
    0
    Сразу предупреждаю что с PHP на извините не хотел)

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

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

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

    Код (Text):
    1. -Хлам
    2.    -Подхлам!
    3.    -Подхлам2
    4. -НеХлам
    5. -МегаХлам
    6.     -ПодМегаХлам
    7.     -ПодМегаХлам2


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

    Код (Text):
    1. function ShowMapCatalog($IDCatalog) //select database
    2. {
    3.         $ath = mysql_query("select * from ".TABLE_CATALOG." WHERE CatalogID=".$IDCatalog.";");
    4.  
    5.         if($ath)
    6.         {
    7.           $str="<ul>";
    8.           while($author = mysql_fetch_array($ath))
    9.           {
    10.             $str=$str."<li>".$author['Name']."</li>".ShowMapCatalog($author['CatalogID']);
    11.           }
    12.           $str=$str."</ul>";
    13.         }
    14.  
    15.     return $str;
    16. }
    17.  
    18. echo ShowMapCatalog(0);


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

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

    Cron Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    289
    Симпатии:
    0
    Адрес:
    Украина, Сумы
    О древовидных каталогах в Инете не писали только ленивые... погугли
     
  3. Frozen

    Frozen Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    $ath = mysql_query("select * from ".TABLE_CATALOG." WHERE CatalogID=".$IDCatalog.";") or die(mysql_error());
     
  4. GhosTer

    GhosTer Активный пользователь

    С нами с:
    14 сен 2008
    Сообщения:
    9
    Симпатии:
    0
    древовидный каталог значит!
    Окей. Спасибо :) Погуглю)
     
  5. GhosTer

    GhosTer Активный пользователь

    С нами с:
    14 сен 2008
    Сообщения:
    9
    Симпатии:
    0
    Загуглился.
    Сломал мозг.
    Нихрена не понял.
    Решил дальше долбить свой кодец.
    Нашел ошибку в строке
    Код (Text):
    1. $str=$str."<li>".$author['Name']."</li>".ShowMapCatalog($author['CatalogID']);
    Она должна выглядеть вот так
    Код (Text):
    1. $str=$str."<li>".$author['Name']."</li>".ShowMapCatalog($author['ID']);
    Всё работает!!!!