|
|
|
| Сразу предупреждаю что с 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);
|
Как вы наверное догадались, выводит пустоту)))
Поскажите как правильно сделать!!!!!
Через месяц диплом сдавать, а я только сел за него) | |
|
|
|
|
|
|
|
для: GhosTer
(17.05.2009 в 21:22)
| | ShowMapCatalog($author['CatalogID'])
Здесь Вы явно напутали с полем.
Но ошибка в чем-то другом.
А вывод диагностик у Вас заблокирован, похоже. | |
|
|
|
|
автор: 324234234 (18.05.2009 в 00:29) |
|
|
для: GhosTer
(17.05.2009 в 21:22)
| | Наиболее вероятные причины:
- запрос выполняется с ошибкой
- в базе нет записей с CatalogID = 0
А вообще у вас будет зацикливание (или как это правильно сказать для рекурсии?) жопа | |
|
|
|
|
|
|
|
для: 324234234
(18.05.2009 в 00:29)
| | НИКАКОЙ ЖОПЫ ТУТ НЕТ!
Великолепный скрипт) теперь)
Явно напутали с полем.
И ошибка именно там.
А вывод диагностик заблокирован( СПС
Нашел ошибку в строке
$str=$str."<li>".$author['Name']."</li>".ShowMapCatalog($author['CatalogID']);
|
Она должна выглядеть вот так
$str=$str."<li>".$author['Name']."</li>".ShowMapCatalog($author['ID']);
|
Всё работает!!!! | |
|
|
|