Хеллоу, форумчани! Столкнулся вот с такой дурацкой проблемой: Код (PHP): // разный код с коннектом к бд и тд $date_from = date('Y-m-d 00:00:00', time() - 60 * 60 * 24); $date_to = date("Y-m-d").' '.date("23:59:59"); //$sql = "SELECT table . `pole1`, `pole2`, COUNT(*) as count , table_resellers . * FROM table INNER JOIN table_resellers ON table.pole1 = table_resellers.pole1 WHERE table_resellers.name = 'nic k' AND table.date>='$date_from' AND table.date<='$date_to' ORDER by date"; $sql = "SELECT table . `pole1`, `pole2`, COUNT(*) as count , table_resellers . * FROM table INNER JOIN table_resellers ON table.pole1 = table_resellers.pole1 WHERE table_resellers.name = 'nick' AND table.date>='$date_from' AND table.date<='$date_to' ORDER by date"; $result1 = mysql_query($sql); if(!$result1) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $result1; exit(); } //die(var_dump($result1)); if (mysql_num_rows($result1) == 0) { echo "По этому запросу ничего в базе нет."; exit; } ?> <table border=0"> <tr> <td>Поле 1</td> <td>Поле 2</td> <td>Количество(Поле 3)</td> </tr> <?while($resultout = mysql_fetch_assoc($result1)):?> <tr> <td><?=$resultout['pole1'];?></td> <td><?=$resultout['pole2'];?></td> <td><?=$resultout['count'];?></td> </tr> <?endwhile; mysql_close($db); mysql_free_result($result1);?> </table> На выходе имею "resource(5) of type (mysql result)". Судя по всему ошибка при обработке массива. Что делать?
Код (Text): SELECT `t`.`pole1`, `t`.`pole2`, `r`.* # желательно указать конкретные поля вместо `r`.* # COUNT(*) здесь не будет работать, потому что нет GROUP BY FROM `table` `t` INNER JOIN `table_resellers` ON `t`.`pole1`=`r`.`pole1` WHERE `r`.`name`='nick' AND `t`.`date`>='$date_from' AND `t`.`date`<='$date_to' ORDER by `date` И date("23:59:59") вернет '23:59:59'. А зачем вызывать для этого функцию?
bool(false) да не подумал как-то. не суть. ) Код (Text): SELECT table . `pole1`, `pole2`, COUNT(*) as count , table_resellers .pole1, table_resellers .pole2 FROM table INNER JOIN table_resellers ON table.pole1 = table_resellers.pole1 WHERE table_resellers.name = 'nick' AND table.date>='$date_from' AND table.date<='$date_to' ORDER by date GROUP BY pole1, pole2. вот так?
Koka, возьмите запрос, который написан выше, добавьте нужный COUNT(*) `count`, GROUP BY `t`.`pole1`, `t`.`pole2` (перед ORDER BY, а не после), и помните, что СУБД не знает, поле из какой таблицы Вы подразумеваете под pole1 и pole2.
Код (Text): SELECT table.`pole1`, table .`pole2`, COUNT(*) table.`pole2` as count , table_resellers.pole1, table_resellers.pole2 FROM table INNER JOIN table_resellers ON table.pole1 = table_resellers.pole1 WHERE table_resellers.name = 'nick' AND table.date>='$date_from' AND table.date<='$date_to' GROUP BY table.pole1, table.pole2. ORDER by date речь идет об этом?
Нет, вот об этом: Код (Text): SELECT `t`.`pole1`, `t`.`pole2`, COUNT(*) `count`, `r`.`pole1`, `r`.`pole2` FROM `table` `t` INNER JOIN `table_resellers` `r` ON `t`.`pole1`=`r`.`pole1` WHERE `r`.`name`='nick' AND `t`.`date`>='$date_from' AND `t`.`date`<='$date_to' GROUP BY `t`.`pole1`, `t`.`pole2` ORDER BY `t`.`date`