2017-11-06 15 views
0

最も早い時期から予約を表示するには予約システムが必要です。だから、誰かが12:00〜2:00に機器を予約した場合、そのシステムを使用する次の人は10:00〜11:00の同じ日に同じ機器を予約します。これに続いて、第三者は同じ日に同じ装置を11時から12時に予約します。PHP-特定の順序で結果を表示

予約システムは正常に動作しますが、予約順に表示されます。したがって、上記の例で、開始時間がとして表示します:私がやりたい何

-12.00 -10.00 -11.00

早い順に開始時刻を表示します。したがって、上記の例では、次のように表示されます:

-10.00 -11.00 -12.00

$sqlEvent="select * from bookings where selected_date='".$month."/".$day."/".$year."'"; 
$resultEvents=mysqli_query($dbconnection,$sqlEvent); 
echo "<br>"; 

while($events=mysqli_fetch_array($resultEvents)){ 

echo "<span class='one'><span class='oneagain'>Equipment:</span> ".htmlspecialchars($events['equipment'])."</span><br>"; 
echo "<span class='two'><span class='twoagain'>Start Time:</span> ".htmlspecialchars($events['start_time'])."</span><br>"; 
echo "<span class='three'><span class='threeagain'>End Time:</span> ".htmlspecialchars($events['end_time'])."</span><br>"; 

} 

}

私は次のことを試してみましたが、何も働いた:

$sqlEvent="select * from bookings ORDER BY start_time ASC where selected_date='".$month."/".$day."/".$year."'"; 

答えて

1

データベースの構造を再考する必要があります。あなたのフィールドselected_dateは "MM/DD/YYYY"のような文字列として保存されるべきではありませんが、UNIXのタイムスタンプやDATETIMEのようなネイティブの日付フォーマットのいずれかで保存されるべきです。その後、そのフィールドで適切にソートし、データベースの内外を再フォーマットすることができます。だから、のようなもの:

"SELECT *, DATE_FORMAT(selected_date, '%m/%d/%Y') as formatted_date FROM BOOKINGS WHERE DATE(selected_date)='$year-$month-$day' ORDER BY selected_date ASC" 

これはあなたの注文した結果ときれいに表示される日付としてformatted_dateを与えるだろう。実際のコードや構造に合わせてこれを変更する必要がありますが、これは日付関連の作業(日付のソートや比較など)が必要な場合に日付を問い合わせる方法です。

+0

ありがとうございました。私はそれを機能させることができた。 –

関連する問題