|
|
|
|
|
для: Clocker
(22.02.2007 в 15:17)
| | Люди, помогите | |
|
|
|
|
|
|
| Господа, подскажите в чем грабли:
$db->query("SELECT id, name FROM $tbl1 ORDER by id");
while ($row = $db->fetchAssoc())
{
echo '<p><b> '.$row['name'].'</b>';
$db->query("SELECT cid, title FROM $tbl2 WHERE cid=".$row['id']." ORDER by title");
while ($rows = $db->fetchAssoc())
{
echo '<p><b>'.$rows['title'].'</b></p>';
}
}
|
Собстственно сначала запрос из таблицы с категориями, потом - элементов, присущих каждой категории.
Выводятся данные, присущие только одной категории. Остальные отстутствуют, хотя в бд есть.
Другой вариант:
$db->query("SELECT A.id, A.name, B.cid, B.title, count(B.id) as newCount FROM $tbl1 A LEFT JOIN $tbl2 B ON A.id=B.cid GROUP BY A.id ORDER by id");
while ($row = $db->fetchAssoc())
{
if($row['newCount'] !=0)
{
echo '
<p><b style="color: #8b0000">'.$row['name'].'</b></p>
<p><b>'.$row['title'].'</b></p>';
}
}
|
В этом случае выводится по одному элементу из каждой категории | |
|
|
|
|