อยากทราบวิธีการแสดงรายการสินค้าตามสถานะการสั่งซื้อ จากDatabase โดยเรียงตามหัวข้อที่กำหนดดังภาพในกระทู้ครับ !!
ปัญหานี้แก้โดย
ใช้การเรียงด้วย expression หลายๆ อันครับ
โดยเงื่อนไขที่อยู่แรกสุดจะสำคัญสุด ตัวถัดไปก็รองๆ ลงไป จะมีกี่แบบก็ได้
ในตัวอย่างนี้เรียงตามสถานะที่มีค่าเป็น order, pay และ confirm ตามลำดับ
หากแถวใดไม่ได้มี status อยู่ในสามแบบนี้ก็จะเรียงตามวันที่อย่างเดียว
หมายเหตุ: ผมสมมติชื่อตารางและชื่อคอลัมน์เอง เพราะไม่รู้คุณใช้ชื่ออะไร
SELECT * FROM `products` ORDER BY (`status` = 'order') DESC, (`status` = 'pay') DESC, (`status` = 'confirm') DESC, `order_date` DESC
Date :
2013-02-16 23:28:01
By :
cookiephp
^^ ได้แว้ววววว มั่วๆไป ตามนี้ครับ
Code (PHP)
$order .= " ORDER BY status ='banorder' , status ='get by self' , status ='delivery' , status ='confirm' , status ='pay' , status ='order' , tblorder.order_id ";
ขอบคุณพี่ๆที่ให้คำแนะนำครับ ได้ความรู้อีก 1 เรื่องละครับ ^^
Date :
2013-02-17 00:16:52
By :
pongyo
555 คับพี่ คราวหน้าผมจะแคปดาต้าเบสมาด้วย เพื่อความเข้าใจได้ง่าย ^^
Date :
2013-02-17 00:28:42
By :
pongyo
หรอครับ ขอผมทดลองใช้ด้วยคนน่ะครับ syntax คงไม่ยาากมั้งครับ
เน้น performance ใช่มั๊ยครับ...
Date :
2013-02-17 01:21:34
By :
sakuraei
ครับ เน้น performance แต่ตอนคอมไพล์อาจจะช้ากว่า template engine ทั่วๆ ไปอยู่มาก แต่หลังจากนั้น เร็วปรื๋อเลยครับ
syntax หลักเป็น XML ครับ แต่ส่วน expression หรือ script "คล้าย" php ครับ มีทั้งส่วนเพิ่มเติม และส่วนที่ขาดหาย
แต่มันใจว่าถ้าคนที่รู้ PHP ในระดับหนึ่งจะเริ่มใช้ได้ง่าย และจะชอบด้วยครับ
Date :
2013-02-17 01:40:07
By :
cookiephp
ถ้าต้องการผู้ร่วมทดสอบก็บอกน่ะครับ ผมจะ pm email ไปให้ครับ
Date :
2013-02-17 01:46:30
By :
sakuraei
ครับ ขอบคุณมากครับ
Date :
2013-02-17 02:02:45
By :
cookiephp
Load balance : Server 04