Php 按布尔值排序
我想要的是,首先将按isTOP排序的结果设置为true,然后将其余结果设置为truePhp 按布尔值排序,php,mysql,sql,sql-order-by,Php,Mysql,Sql,Sql Order By,我想要的是,首先将按isTOP排序的结果设置为true,然后将其余结果设置为true function getPlaces(){ $result = array(); $sql = "SELECT id, name, short_description, photo_list, selected, recommended, isTOP FROM place WHERE id IN(SELECT id_place
function getPlaces(){
$result = array();
$sql = "SELECT id, name, short_description, photo_list, selected, recommended, isTOP
FROM place
WHERE id IN(SELECT id_place
FROM rubric_place
WHERE id_rubric IN(SELECT id
FROM rubric
WHERE name = '".$_REQUEST["rubric"]."')
)
ORDER BY isTOP";
getConnect();
$query = mysql_query($sql);
if(!$query){
error100();
}else {
$result['code'] = 200;
for ($i = 0; $i < mysql_num_rows($query); $i++) {
$row = mysql_fetch_assoc($query);
$result["places"][$i] = $row;
$sql = "SELECT * FROM rubric WHERE id IN(SELECT id_rubric FROM rubric_place WHERE id_place = ".$row[id].")";
$queryModule = mysql_query($sql);
if($queryModule){
for ($k = 0; $k < mysql_num_rows($queryModule); $k++) {
$rowModule = mysql_fetch_assoc($queryModule);
$result["places"][$i]["rubrics"][$k] = $rowModule;
}
}
$sql = "SELECT SUM(rating)/COUNT(rating) AS rating FROM comment WHERE id_place = ".$row[id];
$queryModule = mysql_query($sql);
if($queryModule){
$rowModule = mysql_fetch_assoc($queryModule);
$result["places"][$i]["rating"] = $rowModule[rating];
}
}
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit();
}
}
在MySQL中,TRUE=1,FALSE=0。所以如果你想先实现,你需要使用
ORDER BY isTOP DESC
太多了!我知道我应该学会一切,但我还是没有做到