Вот моя проблема: я хочу получить данные из базы данных, и я покажу их в таблице, в которой содержится дата и другие значения, основанные на этой дате, поэтому моя проблема заключается в том, когда я получаю данные, если дата не имеет значения в определенном заголовке, 't возвращает как 0 (Zero), и это влияет на мою таблицу, и это сортировка, вот мой запрос
<?php $confirmquery= " SELECT ddate , count(status) as stat from booking_vip where status = 'CONFIRM' AND ddate >= '$date_1' AND ddate <= '$date_2' GROUP BY ddate"; $confirmrun=mysql_query($confirmquery); while($confirmrow=mysql_fetch_array($confirmrun)){ ?> <td> <?php echo $confirmrow['stat']; ?> </td> <?php } ?>
запрос работает нормально, но когда нет записи на определенную дату, она ничего не возвращает, поэтому она разрушает мою таблицу, делая запись в неправильную дату.
поэтому, пожалуйста, помогите мне, я много искал и пробовал много функций, таких как ifnull и isnull и COALESCE, все они не работали для меня, есть ли какой-либо php solutio,
что я получаю в качестве примера
Date status 2016-03-14 CONFIRM 2016-03-17 CONFIRM
Я хочу:
Date Total 2016-03-14 CONFIRM 2016-03-15 0 2016-03-16 0 2016-03-17 CONFIRM
я хочу быть нулевым в отсутствующих датах, которые не имеют никакого значения, я вижу вопрос вокруг сообщества, но не получил никакого решения php или простого решения mysql.
ценю вашу помощь .
Примечание. Прекратите использование Mysql
устаревших
Существует несколько способов сделать это
$confirmquery = " SELECT ddate , count(status) as stat from booking_vip where status = 'CONFIRM' AND ddate >= '$date_1' AND ddate <= '$date_2' GROUP BY ddate"; $confirmrun = mysql_query($confirmquery); $numRow = mysql_num_rows($confirmrun); if($numRow > 0){ //your code }else{ echo 0; }
Или
$count = count($confirmrun); if($count > 0){ //your code }else{ echo 0; }