$pdo = $db->prepare('SELECT * FROM animals WHERE id = ?');
$pdo->execute(array($id));
$animals = $pdo->fetchAll();
foreach ($animals as $row) {
echo "<li>".$row["category"]."/".$row["name"]."</li>";
}
我的結果是:我如何根據個人訂單對mySQL結果進行排序?
我想現在按類別搜索結果。不是按首字母,而是按邏輯順序。那麼,到底我的結果應該是:
當然這不適用於ORDER BY ASC。但是有沒有辦法將這些類別定義爲「一個」「兩個」「三個」「四個」並且說:首先打印所有的「一個」,然後是「兩個」......並且在這個類別中按名稱排序?
如果您有一個額外的列CategoryNumber,它是一個表示類別的int,那麼'ORDER BY CategoryNumber,Name'就可以工作。你的問題是試圖對一個字符串進行排序,就好像它是一個數字一樣。 – ADyson
認爲你應該在你的php代碼中做到這一點。將「字符串號」轉換爲數字並對其進行排序 – Jens
在數據庫中添加一個名爲「order」的列,對於所有的「one」插入「1」,對於「two」插入「2」 - 然後可以使用ORDER BY函數SQL :) – Twinfriends