Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подсчет количества строк
 
 автор: hejioshin   (04.08.2008 в 18:30)   письмо автору
 
 

Друзья, помогите. Есть 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));?>

Выводится список категорий, а за ними всеми выводиться одинаковая цифра.

Что делаю не так? Спасибо.

  Ответить  
 
 автор: а-я   (04.08.2008 в 20:26)   письмо автору
 
   для: 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

  Ответить  
 
 автор: ols   (05.08.2008 в 03:57)   письмо автору
 
   для: hejioshin   (04.08.2008 в 18:30)
 

У меня была схожая ситуация, я её зазрешил следущим образом. В цикл определил -
 $id = myrow['id'];
$count = @mysql_query("select `cat` from `base` where `cat`='$id';");
И там где выводятся категории рядом прописывал @mysql_num_rows($count)

  Ответить  
 
 автор: hejioshin   (05.08.2008 в 12:46)   письмо автору
 
   для: ols   (05.08.2008 в 03:57)
 

Спасибо всем

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования