Bạn đã thấy cách lệnh SELECT trong SQL lấy dữ liệu từ bảng MySQL. Khi bạn chọn các hàng, MySQL Server tự do trả về chúng trong bất kỳ thứ tự nào, trừ khi bạn chỉ thị cho nó cách sắp xếp kết quả. Bạn có thể sắp xếp một tập kết quả bởi việc thêm một mệnh đề ORDER BY mà xác định rõ các hàng hoặc các cột bạn muốn sắp xếp.
SELECT truong1, truong2,...truongN FROM ten_bang
ORDER BY truong1, [truong2...] [ASC [DESC]]
Để lấy và sắp xếp dữ liệu từ bảng MySQL, bạn có thể sử dụng lệnh SELECT với mệnh đề ORDER BY.
Ví dụ sau sẽ trả về các bản ghi diemthi theo thứ tự tăng dần.
SELECT * FROM sinhvienk60 ORDER BY diemthi ASC;
Kết quả là:
+------+----------------+------------+---------+
| mssv | ho | ten | diemthi |
+------+----------------+------------+---------+
| 3 | Nguyen Hoang | Huong | 7.50 |
| 1 | Dinh Van | Cao | 8.00 |
| 2 | Nguyen Van | Thanh | 9.00 |
+------+----------------+------------+---------+
Bạn sử dụng cú pháp tương tự của mệnh đề ORDER BY trong hàm PHP là mysql_query(). Hàm này được sử dụng để thực thi lệnh SQL và sau đó hàm PHP khác là mysql_fetch_array() có thể được sử dụng để lấy tất cả dữ liệu đã chọn.
Ví dụ
Ví dụ sau trả về kết quả với thứ tự giảm dần của ten:
<?php
$dbhost = 'localhost:3306';
$dbuser = 'root';
$dbpass = '123456';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Khong the ket noi: ' . mysql_error());
}
$sql = 'SELECT mssv, ho,
ten, diemthi
FROM sinhvienk60
ORDER BY ten DESC';
mysql_select_db('sinhvien');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Khong the lay du lieu: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "MSSV :{$row['mssv']} <br> ".
"Ho : {$row['ho']} <br> ".
"Ten : {$row['ten']} <br> ".
"Diem Thi : {$row['diemthi']} <br> ".
"--------------------------------<br>";
}
echo "Lay du lieu thanh cong\n";
mysql_close($conn);
?>
Sao chép code trên trong một trình soạn thảo chẳng hạn, lưu là orderby.php, bạn cần xác định các tham số $dbuser và $dbpass thích hợp (tùy theo cách bạn đã thiết lập với MySQL), sau đó, mở trình duyệt, chạy locallhost/orderby.php sẽ cho kết quả như sau:
Unpublished comment
Viết câu trả lời