|
|
|
| Здравствуйте подскажите как сделать вывод на странице сразу групп и к ним относящиеся подгруппы вот в таком виде
Группа(подгруппа1,подгруппа2,подгруппа3)
Группа2(подгруппа1,подгруппа2,подгруппа3)
...
(Дамп таблицы такой-же как в книге)
тоесть id_catalog, id_parent, name
Уровня два тоесть вначале идёт группа-потом подгруппа а у подгруппы уже есть товары. | |
|
|
|
|
|
|
|
для: andreybeat
(22.11.2006 в 17:52)
| | В скобках следует вывести все подгруппы текущей группы или только первые три штуки? | |
|
|
|
|
|
|
|
для: cheops
(23.11.2006 в 01:12)
| | Нет тоесть вот так ГРУППА(подгруппа1)(подгруппа2)(подгруппа3) да все подгруппы их может быть не только три | |
|
|
|
|
|
|
|
для: andreybeat
(22.11.2006 в 17:52)
| | Тогда можно поступить следующим образом
<?php
$query = "SELECT * FROM catalog WHERE id_parent = 0";
$cat = mysql_query($query);
if(!$cat) exit(mysql_error());
if(mysql_num_rows($cat))
{
while($catalog = mysql_fetch_array($cat))
{
$query = "SELECT * FROM catalog WHERE id_parent = ".$catalog['id_catalog'];
$sub = mysql_query($query);
if(!$sub) exit(mysql_error());
unset($arr);
if(mysql_num_rows($sub))
{
while($subcatalog = mysql_fetch_array($sub)) $arr[] = $subcatalog['name'];
}
echo $catalog['name']." (".implode(",",$arr).")";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(23.11.2006 в 01:36)
| | огромное спасибо то что надо! но немогли бы вы ещё помочь сделать чтоб между скобками были ссылки на эти подгруппы) тоесть несовсем понятно как разобрать массив $arr
я так понял надо сделать ещё один массив $id[] = $subcatalog['id'] но вот как сделать ссылки c именем из массива $arr ведущие на свои id из массива $id[] | |
|
|
|
|
|
|
|
для: andreybeat
(23.11.2006 в 01:46)
| | А ссылка какой вид должна иметь? На самом деле проще в $arr положить готовую ссылку... | |
|
|
|
|
|
|
|
для: cheops
(23.11.2006 в 12:10)
| | Ну сслыка будет вида index.php?id= <-- тут id этой подгруппы ! | |
|
|
|
|
|
|
|
для: cheops
(23.11.2006 в 12:10)
| | Ну сслыка будет вида index.php?id= <-- тут id этой подгруппы ! | |
|
|
|
|
|
|
|
для: andreybeat
(23.11.2006 в 17:49)
| | Тогда проще поступить следующим образом
<?php
$query = "SELECT * FROM catalog WHERE id_parent = 0";
$cat = mysql_query($query);
if(!$cat) exit(mysql_error());
if(mysql_num_rows($cat))
{
while($catalog = mysql_fetch_array($cat))
{
$query = "SELECT * FROM catalog WHERE id_parent = ".$catalog['id_catalog'];
$sub = mysql_query($query);
if(!$sub) exit(mysql_error());
unset($arr);
if(mysql_num_rows($sub))
{
while($subcatalog = mysql_fetch_array($sub)) $arr[] = "<a href=index.php?id=".$subcatalog['id_catalog'].">".$subcatalog['name']."</a>";
}
echo $catalog['name']." (".implode(",",$arr).")";
}
}
?>
|
| |
|
|
|
|
автор: Алик (23.11.2006 в 01:54) |
|
|
для: cheops
(23.11.2006 в 01:36)
| | У меня такой вопрос: есть еще одна таблица, в которой хранятся некоторые записи id_catalog. Как сделать, чтобы при соответствии значений этих двух таблиц в написанном выше коде вывод был другим цветом.
Спасибо. | |
|
|
|
|
|
|
|
для: Алик
(23.11.2006 в 01:54)
| | Не очень понятно... т.е. если имеется значение id_catalog в этой второй таблице - подсвечивать, если такого id_catalog нет - не подсвечивать? | |
|
|
|
|
автор: Алик (23.11.2006 в 19:57) |
|
|
для: cheops
(23.11.2006 в 12:14)
| | Да. Но эту проблему я уже решил сам.
Создал массив из id_catalog во второй таблице. В цикле (массив id_catalog из первой) проверил php функцией in_array на вхождение элементов первого массива во второй. Если они совпали, вывел их красным цветом. | |
|
|
|