|
|
|
| ok, а как мне вывести эти данные:
id nam pid
----------
1 ass 0
2 loop 1
3 zxx 0
4 flip 2
|
в такую структуру:
вернее, как вывести подкатегории в таком виде?
| |
|
|
|
|
|
|
|
для: todas
(27.12.2005 в 13:05)
| | если вы написали все то что у вас есть, то никак,но можно
1.вывести
2. сделать еще столбец - к какой папке относиться
id nam pid pid2
-----------------
1 ass 0 1
2 loop 1 1
3 zxx 0 2
4 flip 2 1
|
| |
|
|
|
|
|
|
|
для: P@Sol
(27.12.2005 в 13:17)
| | Почему же нельзя?
ass и zxx - категории, а loop подкатегория ass, а flip подкатегория loop!
Так вот я хотел штоб мне помогли написать функцию вывода такой структупы. | |
|
|
|
|
|
|
|
для: Todas
(27.12.2005 в 13:23)
| | А из чего следует такая структура? Чтобы определить принадлежность к какой-то ветви в любом случае надо воодить дополнительное поле в котором будет либо идентификатор группы, либо номер родителя. | |
|
|
|
|
|
|
|
для: Todas
(27.12.2005 в 13:23)
| | потому что у вас не указано, что flip это подкатегория loop. Как php об этом узнает????? | |
|
|
|
|
|
|
|
для: P@Sol
(27.12.2005 в 14:01)
| | P@sol Вот pid равен id, я выделил их жирным.
1 ass 0
2 loop 1
3 zxx 0
4 flip 2
если я, что делаю не правилдьно, то подскажите как надо. | |
|
|
|
|
|
|
|
для: Todas
(27.12.2005 в 15:39)
| | а если будет
5 klop 3, то что это будет
??? | |
|
|
|
|
|
|
|
для: Todas
(27.12.2005 в 15:39)
| | Теперь дошло:) тогда очень просто: создаем функцию, которая выводит строчку, выбирает следующую, увеличивает размер отступа и вызывает сама себя рекурсивно. Собственно, именно такая схема работает на этом форуме, так что можете посмотреть его исходинки в разделе downloads. | |
|
|
|
|
|
|
|
для: todas
(27.12.2005 в 13:05)
| | Алгоритм такой.
1) Берем первую запись, у которой pid=0, и узнаем ее id.
2) Ищем первую запись. у которой pid=id_из_пункта_1.
3) Погвторяем пункт (2) для последующих уровней (pid следующего уровня равен id предыдущего), пока будут подходящие записи (число записей с нужным pid отлично от нуля).
4) см. п.2, но не с первой. а второй записью.
5) Зацикливаем пп. 2-4. | |
|
|
|
|
|
|
|
для: Киналь
(27.12.2005 в 16:13)
| | Ага, вот так наверное...
<?
include "config.php";
function tree($ids) {
$query = "SELECT id, nam, pid FROM catalog WHERE pid = " . $ids . " ORDER BY id ASC";
$result = mysql_query($query);
echo "<ul>";
while ( $print = mysql_fetch_array($result)) {
$ide = $print['id'];
echo "<li>";
echo "<a href=#?id=".$ide.">".$print['nam']."</a>";
tree($ide);
}
echo "</ul>";
}
tree(0, 0);
?>
|
| |
|
|
|