2015-05-05 59 views
0

我有以下的PHP腳本:PHP/MySQL查詢選擇日期( 「N」)加1天

$day = date("N"); 
$query_board = "SELECT day, time, timefromto, type, event, title, location, description, `until`, endtime FROM schedule WHERE `until` >= '$server_time' AND day LIKE '%$day%' ORDER BY `time` ASC"; 

這顯示,像這樣在whatsondv.co.uk
page image

我想創建另一個頁面將顯示第二天(即明天)的結果。所以如果當天是2(星期二),那麼只會得到3出現在day的結果。

這是否需要更改$day或其他的定義?

回答

0

您可以使用事先準備好的聲明此:

$pdo = new PDO('mysql:dbname=' . $database . ';host=' . $host, $user, $password); 
$query = $pdo->prepare('SELECT day, time, timefromto, type, event, title, location, description, `until`, endtime FROM schedule WHERE `until` >= :server_time AND day LIKE :day ORDER BY `time` ASC') 
$query->execute(
    array(
    ':server_time' => $server_time, 
    ':day' => $day 
) 
); 

http://php.net/manual/en/pdo.prepare.php

http://php.net/manual/en/pdo.construct.php

+0

這會選擇比當天更大的東西嗎?如果是這樣,你會如何限制它只選擇下一個整數? – Elliot

+0

@Elliot如何定義插入事件的日期/直到您想要命名它們? – DevNiels

+0

$ day被定義爲日期(「N」)。 1 =星期一,2 =星期二等... – Elliot

0

更簡單的辦法解決這:添加另一列,其中列出了 '天' 值減1(或7的情況下回到1)。然後用:

$day = date("N"); 
$query_board = "SELECT tmrw, time, timefromto, type, event, title, location, description, `until`, endtime FROM schedule WHERE `until` >= '$server_time' AND tmrw LIKE '%$day%' ORDER BY `time` ASC"; 

而且工作。