|
|
|
| Друзья, помогите. Есть 2 таблицы.
первая "categories" с двумя столбцами id и name
вторая "base" с id cat title. В этой таблице параметр cat равен цифре, которая соответсвует параметру id таблицы "categories"
Нужно вывести список категорий из таблицы "categories", а за каждой категорией чтобы выводилось количество записей из таблицы "base", которые относятся к данной категории.
Делаю запрос:
<?php
$result = mysql_query ("SELECT * FROM categories ORDER BY id DESC",$db );
$myrow = mysql_fetch_array ($result);
$result2 = mysql_query ("SELECT COUNT(cat) FROM base WHERE cat=$myrow[id]",$db );
$sum= mysql_fetch_array ($result2);
do {
printf ("<li><a href='view_cat.php?cat=%s'>%s</a> [%s]</li>", $myrow['id'], $myrow['name'], $sum[0]);
}
while ($myrow = mysql_fetch_array ($result));?>
Выводится список категорий, а за ними всеми выводиться одинаковая цифра.
Что делаю не так? Спасибо. | |
|
|
|
|
|
|
|
для: hejioshin
(04.08.2008 в 18:30)
| | может Вам такой запрос подойдет?
SELECT `categories`.*, COUNT(`base`.`cat`) as `cats`
FROM `categories`
LEFT JOIN `base` ON `base`.`cat` = `categories`.`id`
GROUP BY `categories`.`id`
ORDER BY `categories`.`id` DESC
|
| |
|
|
|
|
|
|
|
для: hejioshin
(04.08.2008 в 18:30)
| | У меня была схожая ситуация, я её зазрешил следущим образом. В цикл определил -
$id = myrow['id'];
$count = @mysql_query("select `cat` from `base` where `cat`='$id';");
И там где выводятся категории рядом прописывал @mysql_num_rows($count)
|
| |
|
|
|
|
|
|
|
для: ols
(05.08.2008 в 03:57)
| | Спасибо всем | |
|
|
|