Hasil query database terkadang tidak dapat digunakan secara langsung, seperti hasil yang diperoleh dengan menggunakan pernyataan in di mysql, sehingga hasilnya perlu diurutkan dalam beberapa cara.
Contoh 4. Pengurutan hasil database
Dalam contoh ini, setiap sel dalam array data mewakili satu baris dalam tabel. Ini adalah kumpulan data khas yang dicatat dalam database.
Data pada contohnya adalah sebagai berikut:
volume |
-------+--------
67 |.2
86 |.1
85 |.6
98 |.2
86 |.6
67 |.7
Semua data disimpan dalam array bernama data. Ini biasanya diperoleh dari database melalui loop, seperti mysql_fetch_assoc().
$data[] = array('volume' => 67, 'edisi' => 2);
$data[] = array('volume' => 86, 'edisi' => 1);
$data[] = array('volume' => 85, 'edisi' => 6);
$data[] = array('volume' => 98, 'edisi' => 2);
$data[] = array('volume' => 86, 'edisi' => 6);
$data[] = array('volume' => 67, 'edisi' => 7);
?>
http://sucai.knowsky.com/
Dalam contoh ini, volume akan diurutkan dalam urutan menurun dan edisi akan diurutkan dalam urutan menaik.
Sekarang Anda memiliki array dengan baris, tetapi array_multisort() memerlukan array dengan kolom, jadi gunakan kode berikut untuk mendapatkan kolom dan kemudian mengurutkannya.
// Dapatkan daftar kolom
foreach ($data sebagai $kunci => $baris) {
$volume[$kunci] = $baris['volume'];
$edisi[$kunci] = $baris['edisi'];
}
// Susun data dalam urutan menurun menurut volume dan dalam urutan menaik menurut edisi
// Gunakan $data sebagai parameter terakhir, urutkan berdasarkan kunci umum
array_multisort($volume, SORT_DESC, $edisi, SORT_ASC, $data);
?>
Pengumpulan data kini sudah terurut, dan hasilnya sebagai berikut:
edisi volume |
-------+--------
98 |.2
86 |.1
86 |.6
85 |.6
67 |.2
67 |.7