[HELP]Вывод записей из базы

Статус
В этой теме нельзя размещать новые ответы.

saylar_06

Создатель
Регистрация
7 Мар 2009
Сообщения
42
Реакции
0
Доброго времени суток! помогите мне решить задачку...

Есть у меня две таблицы `Записи` и `Категории` в первой есть 10 заметок во второй 5 разумеется в таблице записи у каждой записи есть свой cat номер
тоесть я могу вывести все категории и заметки в них...

Мне нужно сделать так чтоб вывести количество записей в определенной категории, тоесть должо получится так 2 2 2 2 2
 
если верно понял то будет так
PHP:
SELECT  `cat` as 'cat', count (  `cat`  ) as 'count_cat' FROM `Записи`
GROUP BY `cat`
 
если быть совсем точным, то

PHP:
select категории.catname, count (категории.catname)
from
 записи
join
 категории
on
 записи.catid = категории.ид
group by
 категории.catname
 
Доброго времени суток! помогите мне решить задачку...
Есть у меня две таблицы `Записи` и `Категории` в первой есть 10 заметок во второй 5 разумеется в таблице записи у каждой записи есть свой cat номер
тоесть я могу вывести все категории и заметки в них...
Мне нужно сделать так чтоб вывести количество записей в определенной категории, тоесть должо получится так 2 2 2 2 2

и так, что то у меня ничего не выходит :(

оговорюсь ещё раз: есть две таблицы

categories (id title)

topics (id cat title)

Делаю такой запрос:
select categories.id, count (categories.id) from topics join categories on topics.cat = categories.id group by categories.id

В результате хочу получить количество записей в категории
В принципе жду такого результата чтоб когда в цикле выводил данные:
Категория: 1 Записей: 3
Категория: 2 Записей: 6
Категория: 3 Записей: 0
Категория: 4 Записей: 4

но при попытке что то сделать пишет что FUNCTION name.count does not exist

Что я делаю не так? Как нужно подправить запрос чтоб все сработало?
 
а так работает?(убрали пробел)

хм, странно теперь начало выводить Resource id #(и тут число 13 15 18 11)
Вот код к стати говоря:

PHP:
function get_categories() {
	global $url;
	
		$sql = "SELECT * FROM categories";
		$result = mysql_query($sql);

		if ($result == FALSE) {
			echo "Запрос на выборку данных из базы не прошел.".mysql_error();
		}
		if (mysql_num_rows($result) > 0) {
			$myrow = mysql_fetch_assoc($result);
			do {
				$title = lat($myrow["title"]);
				$SQL = "select categories.id, count(categories.id) from topics join categories on topics.cat = categories.id group by categories.id";
				$mysql_qu = mysql_query($SQL);
				if ($mysql_qu == FALSE) {
					echo "Запрос на выборку данных из базы не прошел.".mysql_error();
				}
				//$mysql_ar = mysql_fetch_array($mysql_qu);
			 printf ("<li><a rel=\"tag\" href=\"%s/category/%s/\">%s</a>[B]<sub>%s</sub>[/B]</li>",$url,$title,$myrow["title"],[B]$mysql_qu[/B]);
			} while ($myrow = mysql_fetch_assoc($result));		
		} else {
  			echo "<li><a rel=\"tag\" href=\"".$url."/#\">Нет записей!</a><sub>0</sub></li>";
  		  }
}
 
PHP:
$sql2 = mysql_query("select categories.id, count(categories.id) as total_topics from topics join categories on topics.cat = categories.id group by categories.id");
$result2 = mysql_fetch_assoc($sql2);

printf ("<li><a rel=\"tag\" href=\"%s/category/%s/\">%s</a><b><sub>%s</sub></b></li>",$url,$title,$myrow["title"],$result2['total_topics']);
 
PHP:
$sql2 = mysql_query("select categories.id, count(categories.id) as total_topics from topics join categories on topics.cat = categories.id group by categories.id");
$result2 = mysql_fetch_assoc($sql2);
printf ("<li><a rel=\"tag\" href=\"%s/category/%s/\">%s</a><b><sub>%s</sub></b></li>",$url,$title,$myrow["title"],$result2['total_topics']);

хм, почему то везде вывело 9 9 9 9 9 :) может в запросе надо где то вместо ID переменную дать, чтоб она менялась в цикле? или я что то не понимаю? :(
 
Функция ужасная и запрос в том же духе...
Всё это можно сделать более лаконично:
PHP:
function get_categories() {
	global $url; 
	$query = mysql_query("SELECT categories.title AS cat_title, count(topics.id) AS topics_total FROM categories, topics WHERE topics.cat = categories.id GROUP BY categories.id") or die(mysql_error());   
	if( mysql_num_rows($query) == 0 ) {
		$data = "Данные отсутствуют...";
	} else {
		$data = "";
		while( $result = mysql_fetch_assoc($query) ) {
			$title = htmlspecialchars( $result['cat_title'], ENT_QUOTES );
			$topics_total = $result['topics_total'];
			$data .= "<li><a rel='tag' href='".$url."/category/".$title."/'>".$title."</a> - <b>".$topics_total."</b></li>";
		}
	}
	echo $data;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху