手册
目录
ORDER BY 子句用于按升序或降序对结果集进行排序。
ORDER BY 子句默认按升序对记录进行排序。要按降序对记录进行排序,请使用 DESC 关键字。
SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC
请参阅:SQL 教程。
以下示例从 MyGuests 表中选择 id、firstname 和 lastname 列。记录将按 lastname 列排序:
connect_error) {
die("连接失败:" . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出每行的数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 结果";
}
$conn->close();
?>
运行实例
首先,我们设置了 SQL 查询,该查询从 MyGuests 表中选择 id、firstname 和 lastname 列。记录将按 lastname 列排序。下一行代码运行查询并将结果数据放入名为 $result 的变量中。
然后,num_rows() 函数检查返回的行数是否大于零。
如果返回的行数大于零,则 fetch_assoc() 函数将所有结果放入我们可以循环遍历的关联数组中。while() 循环遍历结果集并输出 id、firstname 和 lastname 列的数据。
下例以 MySQLi 过程化方式显示了与上例相同的内容:
0) {
// 输出每行的数据
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 结果";
}
mysqli_close($conn);
?>
运行实例
您也可以将结果放入 HTML 表格中:
connect_error) {
die("连接失败:" . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "| ID | Name |
|---|---|
| ".$row["id"]." | ".$row["firstname"]." ".$row["lastname"]." |
运行实例
以下示例使用预处理语句。
在这里,我们从 MyGuests 表中选取 id、firstname 和 lastname 列。记录将按 lastname 列排序,并将在 HTML 表格中显示:
"; echo ""; class TableRows extends RecursiveIteratorIterator { function __construct($it) { parent::__construct($it, self::LEAVES_ONLY); } function current() { return " Id Firstname Lastname " . parent::current(). " "; } function beginChildren() { echo ""; } function endChildren() { echo " " . "\n"; } } $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname"); $stmt->execute(); // 将结果数组设置为关联 $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { echo $v; } } catch(PDOException $e) { echo "错误:" . $e->getMessage(); } $conn = null; echo ""; ?>
运行实例
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习