下面循环遍历我的 MySql 数据库中的一个表,并在一个匹配的表单元格中显示所有汽车记录。我知道我可以在 MySql 查询中使用 ORDER BY 命令按特定列排序,但是如何将特定记录放在顶部,然后列出所有剩余的匹配项?
例如,在此之前我有一个简单的表单,用户使用 $_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;