|
|
|
| Задача такая... в таблице есть категории, в которой могут быть еще категории - или одного или двух уровней вложенности. В любом случае надо получить ВСЕХ, так сказать, детей данной категории... что здесь не так?
select f.id as fid, f.title as ftitle, s.id as sid, s.title as stitle from ob_categories f left join ob_categories s on f.id=s.parent where f.parent='$cat[id]' order by f.position, s.position
|
Выделения для удобства чтения, $cat['id'] - запрашиваемая категория | |
|
|
|
|
|
|
|
для: bronenos
(29.10.2007 в 20:51)
| | Не знаю, помогу Вам или нет, но тем не менее.
<?
function subcategory($id, $sub)
{
$categories = mysql_query("SELECT * FROM cat WHERE root_category = $id");
while($category = mysql_fetch_array($categories))
{
for($i = 0; $i < $sub; $i++) echo "";
echo $category['id_cat']." - ".$category['name_cat']."<br>";
subcategory($category['id_cat'], $sub+1);
}
}
$categories = mysql_query("SELECT * FROM cat WHERE root_category = 0");
while($category = mysql_fetch_array($categories))
{
$sub = 1;
echo $category['id_cat']." - ".$category['name_cat']."<br>";
subcategory($category['id'], $sub);
}
?>
|
Эта ф-ия выводит дерево категорий. И пример использования... | |
|
|
|