English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
نحن نعرف كيف نقرأ البيانات من جدول MySQL باستخدام جملة SQL SELECT
إذا كان علينا ترتيب البيانات التي نقرأها، فإننا يمكننا استخدام ORDER BY من MySQL ORDER BY جملة لتعيين الحقل الذي تريد ترتيبه وكيفية ترتيبه، ثم إرجاع النتائج البحثية.
فيما يلي استخدام جملة SELECT SQL باستخدام ORDER BY لترتيب البيانات ثم إرجاعها:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... ORDER BY field1 [ASC [DESC][الافتراضي ASC]], [field2...] [ASC [DESC][الافتراضي ASC]]
يمكنك استخدام أي حقل كشرط للترتيب، مما يعني إرجاع نتائج البحث المترتبة.
يمكنك تعيين حقل متعدد للترتيب.
يمكنك استخدام الكلمات المفتاحية ASC أو DESC لتحديد ما إذا كانت النتائج ستكون مرتبة بالترتيب الأبجدي أو المعكوس. بشكل افتراضي، هي مرتبة بالترتيب الأبجدي.
يمكنك إضافة جملة WHERE...LIKE لتعيين الشروط.
فيما يلي استخدامه لـ ORDER BY في جملة SELECT SQL لقراءة بيانات MySQL من جدول w3codebox_tbl:
حاول الآمثلة التالية، والنتائج ستتم ترتيبها بالترتيب الأبجدي والأبجدي المعكوس.
mysql> use w3codebox; Database changed MariaDB [w3codebox]> SELECT * from w3codebox_tbl ORDER BY submission_date ASC; +----------+-------------+--------------+-----------------+ | w3codebox_id | w3codebox_title | w3codebox_author | submission_date | +----------+-------------+--------------+-----------------+ | 1 | تعلم PHP | oldtoolbag.com | 2018-04-14 | | 2 | 学习 MySQL | oldtoolbag.com | 2018-04-14 | | 3 | JAVA 教程 | oldtoolbag.com | 2018-04-14 | | 4 | تعلم Python | oldtoolbag.com | 2019-06-08 | +----------+-------------+--------------+-----------------+ 4 rows in set (0.00 sec) MariaDB [w3codebox]> SELECT * from w3codebox_tbl ORDER BY submission_date DESC; +----------+-------------+--------------+-----------------+ | w3codebox_id | w3codebox_title | w3codebox_author | submission_date | +----------+-------------+--------------+-----------------+ | 4 | تعلم Python | oldtoolbag.com | 2019-06-08 | | 1 | تعلم PHP | oldtoolbag.com | 2018-04-14 | | 2 | 学习 MySQL | oldtoolbag.com | 2018-04-14 | | 3 | JAVA 教程 | oldtoolbag.com | 2018-04-14 | +----------+-------------+--------------+-----------------+ 4 rows in set (0.02 sec)
读取 w3codebox_tbl 表中所有数据并按 submission_date 字段的升序排列。
你可以使用PHP函数的 mysqli_query() 及相同的 SQL SELECT 带上 ORDER BY 子句的命令来获取数据。
该函数用于执行 SQL 命令,然后通过 PHP 函数 mysqli_fetch_array() 来输出所有查询的数据。
尝试以下示例,查询后的数据按 submission_date 字段的降序排列后返回。
<?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn) { die('连接失败: ' . mysqli_error($conn)); } // 设置编码,防止中文乱码 mysqli_query($conn, "set names utf8"); $sql = 'SELECT w3codebox_id, w3codebox_title, w3codebox_author, submission_date FROM w3codebox_tbl ORDER BY submission_date ASC'; mysqli_select_db($conn, 'w3codebox'); $retval = mysqli_query($conn, $sql); if(! $retval) { die('فشل في قراءة البيانات: '. mysqli_error($conn)); } echo '<h2>شبكة الدليل الأساسي MySQL ORDER BY اختبار<h2>'; echo '<table border="1"><tr><td>معرف الدليل</td><td>العنوان</td><td>المؤلف</td><td>تاريخ الإرسال</td></tr>'; while($row = mysqli_fetch_array($retval)) { echo "<tr><td> {$row['w3codebox_id']}</td> ". "<td>{$row['w3codebox_title']} </td> ". "<td>{$row['w3codebox_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
النتيجة الم输出的 كما هو موضح في الشكل التالي: