คือเราทำการsearchข้อมูล
แล้วสั่งprintออกจากdatabase
แต่มันไม่เรียงลำดับให้เลยคะรู้ว่าเรียงจากน้อยไปมากใช้order by $fields DESC
แต่เราเอามาใส่แล้วมันrunไม่ผ่านเลยคะ
ตรง$sql="SELECT * FROM $tb where $fields like '%$keyword% order by $order DESC'";
ช่วยเราดูหน่อยนะคะว่าเป้นเพราะอะไร
$order คือชื่อตัวแปลนะคะ
where $fields like '%$keyword%เป็นการsearch โดยให้เขาเลือกมาคะว่าkeywordไร
พอเสร็จแล้วเราต้องการprintออกให้เรียงตามตัวแปลorderนะคะ
เธอพอมีวิธี ที่สามารถให้databaseเรียงลำดับจากน้อยไปหามากได้ไหมคะ
เพราะในdatabase mysql มันก็เรียงไม่เป็นลำดับอะคะ
พอมีวิธีไหมคะ
order by id DESC เราลองแล้วนะคะไม่ได้เหมือนกันคะid คือตัวแปลช่ายไหมคะถ้าใช่ลองแล้วนะคะ
Date :
6 มิ.ย. 2551 09:17:23
By :
เล๊กซ่า
No. 3
Guest
ตามที่ผมเข้าใจนะครับ มันจะต้องเรียงลำดับโดยใช้ชื่อ field ในตารางเท่านั้น มันไม่น่าจะใช้ตัวแปรมา order by ได้อะครับ จากที่คุณ deawx ตอบ id น่าจะหมายถึงชื่อ field ในตารางนะครับ ถ้าต้องการเรียงจากมากไปน้อย ใช้ DESC หรือจากน้อยไปมาก ASC แต่ไม่จำเป็นเพราะ ASC เป้นค่าดีฟอล์อยู่แล้วครับผม
Date :
6 มิ.ย. 2551 10:35:11
By :
nas
No. 4
Guest
$sql = "select * from <table> where <field> like '".$search."' order by <field=ตัวที่ต้องการเรียง> <desc มาก -> น้อย , asc น้อย ->มาก> ";
ถ้า field เป็น text ก็จะทำการเรียงตามรูปแบบ text แต่ถ้า Field เป็นตัวเลขก็จะ เรียงตามที่ต้องการเลย
ลองดู
อ๋อ ผมว่าลองแบบนี้ดิครับ ตอนพี่น้อง select ออกมาใช่ป่าวครับ ก็ให้เงื่อนไขต่อท้ายมาเลยครับแบบนี้อะ สมมุติว่า
$sql = "select * from $table order by ID asc เรียงจากรหัส มากไปน้อย DESC หรือน้อยไปมากก็ตามแต่พี่น้องเลยแบบนี้ได้ป่าวครับ คือถ้าไม่ตรงประเดนก้ขอโทษด้วยนะครับผมมือใหม่อะ เด็กฝึก uru ครับ