我試圖使用PHP和mySQL製作「歷史上的這一天」類型的頁面。在mySQL數據庫中,每個條目都有以下列:id,日期,主題,事件。日期列使用mySQL日期類型,即YYYY-MM-DD。我試圖在PHP中使用日期函數來調用相應日期的mySQL條目,但我無法弄清楚如何連接它們。如何使用循環連接MySQL日期類型和PHP日期類型
第一部分成功返回數據庫中的所有內容。
<?php
$config ['db'] = array (
'host' => 'localhost',
'username' => 'root',
'password' => 'root',
'dbname' => 'party'
);
$db = new PDO('mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['dbname'] , $config['db']['username'] , $config['db']['password']);
$query = $db->query("SELECT `events`.`date`, `topic`, `event` FROM `events`");
$rows = $query->fetchAll(PDO::FETCH_ASSOC);
echo '<pre>', print_r($rows, true), '</pre>';
不過,我不希望顯示的一切,只是包含相同的月份和日期爲當前日期的行。我將如何正確循環並只顯示單行?這是我結束的地方。
//current day and month
$current_date = date("m d");
//select from database of events where matching month and day
$statement = $db->prepare("SELECT * FROM `events` WHERE `date` = :md ");
$statement->execute(array(':md' => $current_date));
//echo out events that happened throughout history
echo "On ", date('F jS'), ", the following events took place:";
while($rows = $statement->fetch()){
echo $rows['topic'];
echo $rows['event'];
}
它打印出的唯一的事情是「在當前日期,以下事件發生了:」此外,雖然它不是最上面的重要性,我的當前日期是打印出來的某一天未來。
感謝您的任何幫助。
您是否使用過date('Ymd H:i:s');作爲你的日期:md? – MyStream
檢查你的PHP時區。這可能是未來獲得一天的原因。 – hjpotter92