Ну, я разрабатываю систему голосования, где я выбираю данные из базы данных, используя следующий код:
// 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
Вы забыли запятую между полями в своем заявлении 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';";