จากรูปครับ คือผมสร้าง from ค้นหา จากฐานข้อมูลเพื่อนำไปใช้แสดง Graph โดยให้เลือก Transfer pressure คือ 1 หรือ 2
และ Date Time point คือ ช่วงเวลาที่ต้องการดู Graph โดยต้องการให้แสดงเริ่มต้นที่ Date Time point และแสดงย้อนหลังลงมา
และ Limit คือ กำหนดจำนวน Record ที่แสดงครับ เช่น
เลือก Transfer pressure 1
Date Time point 2013-06-26 21:09
Limit 30
ก็ให้แสดง Transfer pressure 1
เริ่มจากเวลา 2013-06-26 21:09 ลงมา
จำนวน 30 record
โค๊คครับ
Code (PHP)
$SQL1 = "SELECT $_POST[transfer],date_time FROM pressure WHERE date_time <= '$_POST[date_time]' ORDER BY date_time DESC LIMIT $_POST[limit] ";
$result1 = mysql_query($SQL1);
$data1 = array();
while ($row = mysql_fetch_array($result1)) {
$data1[] = $row['date_time'];
}
$result2 = mysql_query($SQL1);
$data2 = array();
while ($row = mysql_fetch_array($result2)) {
if($_POST[transfer]=="tp1"){
$data2[] = $row['tp1'];
}
if($_POST[transfer]=="tp2"){
$data2[] = $row['tp2'];
}
}
ปัญหาคือหากผมใช้ ORDER BY date_time DESC ค่าแสดงออกมาถูกต้อง แต่ถ้าเปลี่ยนเป็น ASC มันไม่แสดงช่วงเวลาตามที่กำหนดครับ
แต่ไปแสดงค่าตั้งแต่เริ่มต้นแทนครับ
WHERE id IN (ไอดีทั้ง 30 รายการ)
if($_POST['order_by'] == 'desc') $sql .= " ORDER BY date_time DESC ";
if($_POST['order_by'] == 'asc') $sql .= " ORDER BY date_time ASC ";