|
|
|
| нужно составить путь к папке
в бд
известно id, нужно составить путь до этой папке
если есть
1 | papka | 0
2 | podpapka | 1
|
то вывести должно "/papka/podpapka/" | |
|
|
|
|
|
|
|
для: P@Sol
(12.10.2006 в 14:50)
| | Лично я ничего не понял! | |
|
|
|
|
|
|
|
для: slonik
(12.10.2006 в 15:25)
| | имеем страницу: http://какой-то_путь?id=2
надо составить функцию, которая вернет строку "/papka/podpapka/", чтобы на этой странице уже что то можно было сделать с этой папкой (удалить, записать в нее файл, переименовать и т.д.) | |
|
|
|
|
|
|
|
для: P@Sol
(12.10.2006 в 14:50)
| | Здесь обычно прибегают к рекурсивному списку
<?php
function recurse($id)
{
global $arr;
$query = "SELECT * FROM tbl WHERE parent_id = $id";
$tbl = mysql_query();
if(!$tbl) exit("Ошибка синтаксиса ".mysql_error());
if(mysql_num_rows($tbl) > 0)
{
while($table = mysql_fetch_array($tbl))
{
$arr[] = $table['name'];
recurse($table['id'], $count);
}
}
}
unset($arr);
recurse(1);
echo "/".implode("/",$arr)."/";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(12.10.2006 в 15:55)
| | работает, а почему не работает моя функция?
вот моя функция:
<?
function subdirbd2($id_catalog,$dir)
{
$query = "SELECT * FROM libcat
WHERE id_catalog = '$id_catalog'";
$ctg = mysql_query($query);
if(mysql_num_rows($ctg)>0)
{
$cat = mysql_fetch_array($ctg);
$dir = $cat['name']."/".$dir;
// echo $dir;
if ($cat['id_parent'] != 0) subdirbd2($cat['id_parent'],$dir);
}
return $dir;
}
|
она возвращает не то значение, хотя если раскоментировать строку echo $dir; то на экране будет выведена нужная мне строка | |
|
|
|
|
|
|
|
для: P@Sol
(13.10.2006 в 12:07)
| | Следует исправить строку
<?php
if ($cat['id_parent'] != 0) subdirbd2($cat['id_parent'],$dir);
?>
|
следующим образом
<?php
if ($cat['id_parent'] != 0) $dir = subdirbd2($cat['id_parent'],$dir);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(13.10.2006 в 12:46)
| | какая глупая ошибка...а я этого ответа неделю ждал.....очередное Вам спасибо! | |
|
|
|