Как подсчитывать строки по дате с использованием MySQL и PHP

Ну, я разрабатываю систему голосования, где я выбираю данные из базы данных, используя следующий код:

// Select info about vote $select_information = mysql_query("SELECT * FROM `Vote` WHERE `VoteID` = '$VoteID';"); $take = mysql_fetch_array($select_information); $createdBy = $take["Username"]; $InstaCredit = $take["InstaCredit"]; $activeVote = $take["Available"]; $select_last_vote = mysql_query("SELECT `Date` FROM `voteslist` WHERE `IP` = '$ip' AND `VoteID` = '$VoteID' order by `Date` DESC LIMIT 1;"); $select_last_vote = mysql_fetch_array($select_last_vote); $dbdate = $select_last_vote["Date"]; ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## // Here i am select date. retrieve just the date part $takeResult = mysql_query("SELECT DATE_FORMAT(STR_TO_DATE('$dbdate', '%d/%m/%Y' ), '%d/%m/%Y') as Date ;"); $Result_date = mysql_fetch_array($takeResult); $result_date = $Result_date["Date"]; $today = date("d/m/Y"); $thanks_to = $createdBy; // here my problem. I want count all votes from today. $today_voting_query = "SELECT DATE_FORMAT(STR_TO_DATE('$dbdate', '%d/%m/%Y' ), '%d/%m/%Y') as Date COUNT(`ID`) FROM `voteslist` WHERE `VoteID` = '$VoteID' AND `Date` = '$result_date';"; $today_voting = mysql_fetch_array($today_voting_query); $today_voting = $today_voting[0]; ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## //now compare your dates if($result_date == $today) { echo "<span class='thanks-for-voting voted'> error <strong>{$thanks_to}</strong> </span><br /> <span class='note-vote voted'>You can vote one time in 24 hours</span>"; } else { echo " <span class='thanks-for-voting'> Thanks for vote to <strong>{$thanks_to}</strong>! </span> "; } ?> <div class="statics"> <span id="static-title">Statics <?php echo $thanks_to; ?></span><hr /> <span id="static-q">Today votes:</span> <span id="static-a"><?php echo $today_voting; ?></span><br /> <span id="static-q">Votes:</span> <span id="static-a">19</span><br /> </div> 

Мне нужно подсчитать и распечатать значение голосов сегодняшнего дня по следующей переменной: $today_voting

см.: Выберите дату из моего db без секунд, используя PHP MySql

Solutions Collecting From Web of "Как подсчитывать строки по дате с использованием MySQL и PHP"

Вы забыли запятую между полями в своем заявлении select .

Пожалуйста измените

 DATE_FORMAT(STR_TO_DATE('$dbdate', '%d/%m/%Y' ), '%d/%m/%Y') as Date COUNT(`ID`) 

в

 DATE_FORMAT(STR_TO_DATE('$dbdate', '%d/%m/%Y' ), '%d/%m/%Y') as Date, COUNT(`ID`) 

Вы также должны изменить $today_voting[0]; до $today_voting[1]; потому что подсчет голосов – это второй выбранный вами столбец. Первый столбец ( $today_voting[0] ) содержит форматированную дату.

Помещать запятую между Date & COUNT(ID)

 $today_voting_query = "SELECT DATE_FORMAT(STR_TO_DATE('$dbdate', '%d/%m/%Y' ), '%d/%m/%Y') as Date, COUNT(ID) AS countID FROM `voteslist` WHERE `VoteID` = '$VoteID' AND `Date` = '$result_date';";