|
|
|
| Подскажите идею.
Есть таблица категорий, тобишь неограниченое кол-во категорий, под-категорий и т.д.
Так же, есть таблица с инфой привязаной к #id категории. В поле хранится #id самой самой последней под-категории.
С помощью рекурсий я нахожу полный путь от самого начала если потребуется.
Задача такая:
Нужно с помощью <fieldset> разложить визуально инфу по порядку.
Например, имеем дерево категорий: cat_1 / cat_1_1 / cat_1_1_1.
Требуется вывести так:
<fieldset><legend>cat_1</legend>
<fieldset><legend>cat_1_1</legend>
<fieldset><legend>cat_1_1_1</legend>
инфа...
</fieldset>
</fieldset>
</fieldset>
|
думаю смысл понятен.
Заметим что инфы и различий категорий много:)
Заранее спасибо за любые подсказки! | |
|
|
|
|
|
|
|
для: sl1p
(13.12.2009 в 01:58)
| | >Например, имеем дерево категорий: cat_1 / cat_1_1 / cat_1_1_1.
Это не дерево. У дерева один корень и куча листьев.
>думаю смысл понятен.
смысл непонятен.
Почему Вы экономите на формулировке проблемы? | |
|
|
|
|
|
|
|
для: Trianon
(13.12.2009 в 11:57)
| | не знаю просто как объяснить..
постараюсь показать на примере, когда давно было всего лишь х2-вложенность категорий.
<?
while($r = mysql_fetch_assoc($res)) { // некая сортировка:)
$blocks[$r['cat']][$r['subcat']][] = $r;
}
foreach($blocks as $a => $b) {
$_CONTENT .= "<fieldset><legend>{$a}</legend>";
$bl = array();
foreach($b as $c => $d) {
if($a !== "") {
$_CONTENT .= "<fieldset><legend>{$c}</legend>";
}
foreach($d as $e) {
$_CONTENT .= <<<TEXT
info
TEXT;
}
if($a !== "") $_CONTENT .= "</fieldset>";
}
$_CONTENT .= "</fieldset>";
}
|
| |
|
|
|
|
|
|
|
для: sl1p
(13.12.2009 в 13:00)
| | таблицу Вы так и не показали.
Если там обычное id - parent_id, выводить дерево придется рекурсивной функцией. | |
|
|
|
|
|
|
|
для: Trianon
(13.12.2009 в 13:12)
| | Угу, именно так..
С моими объяснениями в помощь мне только я сам:))
попробую что-то сделать, спрошу совета здесь если что:) | |
|
|
|
|
|
|
|
для: sl1p
(13.12.2009 в 13:28)
| | а в поиск заглянуть?
Рекурсивный вывод | |
|
|
|
|
|
|
|
для: Trianon
(13.12.2009 в 13:52)
| | Рекурсию я понимаю, я так вывожу данные в массив и т.п.
Не могу именно разобраться..
Если идти от корня тогда вроде бы всё ясно.
А если в таблице с инфой хранится только #id самой самой последней категории к которой прикручена инфа то как-то не сильно:)
получается надо идти назад..
ладно спасибо:) Я покумекаю над этим) | |
|
|
|
|
|
|
|
для: sl1p
(13.12.2009 в 14:08)
| | эх.. никак не могу придумать:))
помогайте=(
есть допустим таблицы:
###категории
id id_cat
1 0
2 0
3 0
4 0
5 1
6 5
7 6
|
###инфа
id id_cat
1 2
2 5
3 7
|
как теперь это рекурсивно вывести через филдсеты?
тоесть самая самая внешняя "оболочка" должна быть самым корнем категории и так далее внутрь. | |
|
|
|
|
|
|
|
для: sl1p
(14.12.2009 в 03:32)
| | А не ужасно ли это будет выглядеть, особенно заключенное в бордюры? Почему бы не:
<fieldset><legend>Раз :: Два :: Три</legend>
инфа...
</fieldset>
?
Собственно, если не хватает признаков для определения вложенности, то их можно добавить при запросе, тот же уровень вложения, например. | |
|
|
|
|
|
|
|
для: sim5
(14.12.2009 в 04:30)
| | Потому что может быть так:
<fieldset><legend>Раз</legend>
инфа...
<fieldset><legend>Раз :: Раз</legend>
инфа...
<fieldset><legend>Раз :: Раз :: Раз</legend>
инфа...
</fieldset>
<fieldset><legend>Раз :: Раз :: Два</legend>
инфа...
</fieldset>
</fieldset>
</fieldset>
|
Просто инфа эта выглядит как блок(примерно 120х120 px) с разными штуками) и их может быть много в одной категории.
Одним словом это редактор блоков, которые находятся по бокам контента, для админки.
Как по мне, так удобно. | |
|
|
|
|
|
|
|
для: sl1p
(14.12.2009 в 05:13)
| | тю, вот это я протупил:)
можно ведь идти по таблице категорий полностью:)
а я смотрел в сторону того чтобы отталкиваться от id_cat инфы :) | |
|
|
|