2016-05-10 127 views
0

因此,我通過在我的Index.php中執行查詢從我的PostgreSQL數據中獲取數據。該查詢將獲取公交車站名稱的名稱及其到達的相應時間。我想讓我的應用程序執行的操作是根據當前時間爲特定的公交車站提取時間。基於當前時間從數據庫獲取數據PHP

我的查詢如下:

$query = " SELECT busname, bustime 
       From busses 
      where name = '$name' and time ='$time' LIMIT 5"; 

我需要做的東西在我的查詢實現這一目標或在我的數據庫?

+0

$ query =「SELECT busname,bustime From busses where name ='$ name'and time <= NOW()LIMIT 5」; –

+0

這似乎會導致一個錯誤: 查詢失敗:錯誤:運算符不存在:帶時區的時間> =帶時區的時間戳線4:... mesDyke'和dt2.name ='CitySquare'和dt1。 time> = NOW()a ... ^提示:沒有操作符匹配給定的名稱和參數類型。您可能需要添加顯式類型轉換。 @NIRANJANS。 – bronxdeveloper

回答

0

如果你是以當前時間爲基礎的話,那麼你絕對不會希望time ='$ time',因爲如果你恰好在毫秒級的確切時間查詢,這隻會響起。

假設你是想根據目前的時間讓所有(或接近)次,公共汽車站,然後嘗試:

$query = " SELECT busname, bustime 
      From busses 
      WHERE name = '$name' 
      AND time >= '$time' 
      ORDER BY time ASC 
      LIMIT 5"; 

這會給你任何時候當前時間之後再由ASC訂貨會給最近的時間第一次,限制5,然後只返回接下來的5個公交時間。

+0

我曾試過,但它不會根據當前時間獲取數據。我的$ time變量是$ time = $ _POST ['time']; //時間。我應該在哪裏做出改變@Matt – bronxdeveloper

+0

@bronxdeveloper你如何發佈時間?你使用DateTime嗎?例如'$ time = new DateTime();'然後發佈它? – Matt

+0

我的時間是$ time = $ _POST ['time']; //用戶發送的輸入內容。我應該將其更改爲$ time = new DateTime(); ? @馬特 – bronxdeveloper

相關問題