Есть код который считает кол-во промодерированных постов в каждой категории и выводит сумму напротив данной категории. Нужно посчитать кол-во не промодерированных постов и так же вывести их напротив данной категории. Пример: категории | промодерированные посты | не промодерированные посты видео ------------------------ 26 --------------------------------------------2 картинки --------------------65 --------------------------------------------8 Код (Text): <? $result2 = mysql_query("select `categories`.*, count(`date`.`id`) as date from `categories` left join `date` on `date`.`cat` = `categories`.`id` WHERE `date`.`moderation`=1 group by `categories`.`id`"); if (!$result2) {exit(mysql_error());} if (mysql_num_rows($result2) > 0) {$myrow2 = mysql_fetch_array($result2); do { echo '<li class="m_naz">'.$myrow2["id"].' - <a title="'.$myrow2["tit"].'" href="'.$myrow2["tit"].'"><strong>'.$myrow2["tit"].'<strong></a> - '.$myrow2["date"].'</li>';} while ($myrow2 = mysql_fetch_array($result2));} else{exit();} ?>
leshiy, ты хочешь получить оба числа в одном запросе? Почитай про функцию count() - она считает количество строк у которых выражение в скобках не равно null. Используй это: count(if(blablabla, 1, null)) или count(nullif(a, b))
Вот так получилось. Код (Text): $result2 = mysql_query(" SELECT `categories`.*, count(`date`.`id`) AS date, count(IF(date.date = CURDATE(),1,NULL)) `segodny` FROM `categories` LEFT JOIN `date` ON `date`.`cat` = `categories`.`id` WHERE `date`.`moderation`=1 GROUP BY `categories`.`id`"); Одна проблема выводятся 0 в категориях где сегодня ничего не добавлялось.Можно их как нибудь убрать?
странно, ты вроде спрашивал про одни условия подсчета, а написал другие… ну да ладно. ну а зачем ты LEFT JOIN использовал?! что просил, то и получил. почитай маленько про соединения