Вот есть вопрос. Решил писать для обучения загруз-центр, но столкнулся с проблемой(
В бд идёт запись папок следующим образом:
/test/test1/test2/
И всё это "ячейка" `dir_all`
Так вот вопрос:
Как же сделать навигацию вида:
/Загруз_центр/<a href='/load/test/'>test</a>/<a href='/load/test/test1'>test1</a>
И тд думаю вы поняли о чём я)
Как вариант ограничить вложенность и заиметь в таблице, например, 7 полей характеризующих путь к папке.
`papka1` VARCHAR (30),
`papka2` VARCHAR (30),
`papka3` VARCHAR (30),
`papka4` VARCHAR (30),
`papka5` VARCHAR (30),
`papka6` VARCHAR (30),
`papka7` VARCHAR (30)
У меня есть 100 рублей на карточке, так вот столкнулся с проблемой, банкомат не выдаёт 10 купюр по 10 рублей, а выдаёт одну 100 и всё это моя зарплата.
Так вот вопрос:
Как же расплатиться за покупку стоимостью 10,20,50 рублей.
И тд думаю вы поняли о чём я)
Примерно так читается вопрос.
_____________________________
Псевдокод:
$levels = explode('/',$row['dir_all']);
$links = array();
do{
$item = array_pop($levels);
if($item == NULL) return;
$links[] = "<a href='".implode('/',$levels)."/".$item."'>".$item."</a>";
} while($item !== NULL);
В итоге в $links будет что то вроде
array(
[1]=>"<a href='/dir/dir1/dir2'>dir2</a>",
[2]=>"<a href='/dir/dir1'>dir1</a>",
[3]=>"<a href='/dir'>dir</a>",
);
К слову, определился бы с иерархией и вообще не хранил путь(или хранил но псевдопуть), а то представь переименовал ты одну директорию в которой было 100500 файлов и директорий и бегай потом по базе отыскивая её регэкспами к тому же иногда бывают проблемы с пробелами или кириллицей(а представь ты решишь юзать независимые от языка имена директорий, не запаришься с китайскими?))...)
Replikon, улыбнуло) Помахаем ручкой [url=http://ru.wikipedia.org/wiki/Третья_нормальная_форма]3NF[/url] как впрочем и любой NF при таком подходе)
ЗЫ: А топ тема для простого вопроса не круто, да?
function cat_nav($id = 1, $nav = '')
{
if($d =mysql_fetch_array(mysql_query('SELECT `name`,`cat` FROM `category` WHERE `id` = "'.$id.'"'))
{
if($d['cat'] != 1)
$nav .= cat_nav($d['cat']);
$nav .= '»<a href="http://site.ru/cat.php?id='.$id.'">'.$d['name'].'</a> ';
}
return $nav;
}