2016-05-10 10 views
0

したがって、私はIndex.phpでクエリを実行してPostgreSQLデータからデータを取得しています。この照会は、バスステーション名の名前と、それが到着する対応する時刻をフェッチします。私のアプリケーションがしたいことは、現在の時間に基づいて選択された特定のバスステーションの時刻を取得することです。現在の時刻に基づいてデータベースからデータを取得するPHP

は私のクエリは次のようである:

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

は、私はこれを実現するか、自分のデータベースにするために、私のクエリで何かをする必要がありますか?

+0

$クエリ= "バス 名= '$名' と時間<= NOW()LIMIT 5からbusname、bustime を選択"; –

+0

エラーが発生しているようです: クエリに失敗しました:ERROR:演算子が存在しません:タイムゾーン付きタイムゾーン>タイムゾーン付きタイムラインLINE 4:... mesDyke 'およびdt2.name =' CitySquare 'およびdt1。 time> = NOW()a ...^HINT:指定された名前と引数の型に一致する演算子はありません。明示的な型キャストを追加する必要があるかもしれません。 @NIRANJANS。 – bronxdeveloper

答えて

0

現在の時間を基準にしている場合は、正確に時間= '$ 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']; // Timeです。私が変更を行う予定の場所@Matt – bronxdeveloper

+0

@bronxdeveloperどのように時間を投稿していますか?あなたはDateTimeを使用していますか?例えば'$ time = new DateTime();'それを投稿する? – Matt

+0

私の時間は$ time = $ _POST ['time']; //ユーザが入力として送るもの。 $ time = new DateTime()に変更する必要があります。 ? @Matt – bronxdeveloper

関連する問題