下面的代碼循環遍歷MySql數據庫中的表格,並顯示匹配的表格單元格中的所有汽車記錄。我知道我可以在MySql查詢中使用ORDER BY命令來按特定的列排序,但是如何將特定的記錄放在頂部,然後列出所有剩餘的匹配?循環遍歷MySql表格並以PHP格式以特定順序輸出
例如,我有一個簡單的表單,在此之前用戶用$ _POST方法選擇他們最喜歡的汽車($_POST['user_car']
)和所需的規格($_POST['user_spec']
)。因此,我的查詢顯示所有匹配選定規格的記錄,但我希望所選車輛位於列表的最頂端,剩下的要遵循。
$query_params = array(
':spec' => $_POST['user_spec']
);
$query = "
SELECT
*
FROM
table
WHERE
spec=:spec
";
try {
$stmt = DB::get()->prepare($query);
$stmt->execute($query_params);
$rows = $stmt->fetchAll();
}
catch(PDOException $ex) {}
foreach($rows as $row):
$cell .= '<td>
<input type="checkbox" '.$check.' name="spec[]" value="'.$row['id'].'"/><span> '.$row['spec'].'
</td>';
endforeach;
將所選值添加到ORDER BY,即SELECT .. ORDER BY car ='ford'DESC,car_name。此測試將產生1爲匹配和0爲不匹配 – Waygood 2013-03-18 14:20:18