ผลลัพธ์การสืบค้นฐานข้อมูลบางครั้งไม่สามารถนำมาใช้โดยตรงได้ เช่น ผลลัพธ์ที่ได้รับโดยใช้คำสั่ง in ใน mysql ดังนั้นจึงต้องเรียงลำดับผลลัพธ์ด้วยวิธีใดวิธีหนึ่ง
ตัวอย่างที่ 4 การเรียงลำดับผลลัพธ์ฐานข้อมูล
ในตัวอย่างนี้ แต่ละเซลล์ในอาร์เรย์ข้อมูลแสดงถึงแถวในตาราง นี่เป็นการรวบรวมข้อมูลทั่วไปที่บันทึกไว้ในฐานข้อมูล
ข้อมูลในตัวอย่างมีดังนี้:
ปริมาณ | ฉบับ
-
67 |.2
86 |.1
85 |. 6
98 |.2
86 |. 6
67 |. 7
ข้อมูลทั้งหมดจะถูกเก็บไว้ในอาร์เรย์ชื่อข้อมูล โดยปกติจะได้รับจากฐานข้อมูลผ่านการวนซ้ำ เช่น mysql_fetch_assoc()
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
-
http://sucai.knowsky.com/
ในตัวอย่างนี้ ไดรฟ์ข้อมูลจะถูกจัดเรียงจากมากไปน้อย และฉบับจะถูกจัดเรียงจากน้อยไปหามาก
ตอนนี้คุณมีอาร์เรย์ที่มีแถวแล้ว แต่ array_multisort() จำเป็นต้องมีอาร์เรย์ที่มีคอลัมน์ ดังนั้นให้ใช้โค้ดต่อไปนี้เพื่อรับคอลัมน์แล้วเรียงลำดับ
// รับรายการคอลัมน์
foreach ($ข้อมูลเป็น $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}
// จัดเรียงข้อมูลตามลำดับจากมากไปน้อยตามปริมาณ และเรียงลำดับจากน้อยไปมากตามรุ่น
// ใช้ $data เป็นพารามิเตอร์สุดท้าย จัดเรียงตามคีย์ทั่วไป
array_multisort($เล่ม, SORT_DESC, $ฉบับ, SORT_ASC, $data);
?>
ตอนนี้การรวบรวมข้อมูลได้รับการจัดเรียงแล้ว และผลลัพธ์จะเป็นดังนี้:
ปริมาณ | ฉบับ
-
98 |.2
86 |.1
86 |. 6
85 |. 6
67 |.2
67 |. 7