2015-10-29 89 views
-1

我需要在ASC訂單中訂購number字段,但它不起作用。PHP MySQL按照Where子句訂購

$sThree = "SELECT `id`, `name`, `number`, `logo` FROM `itv` WHERE `id` = {$rTwoArray['service_id']} ORDER BY `number` ASC"; 
$qThree = mysql_query($sThree, $conn1); 
$rThree[] = mysql_fetch_assoc($qThree); 

enter image description here

無法弄清楚,請幫我調試。

+0

mysql中'number'字段的數據類型是什麼? – Viral

+0

@病毒編號字段是int(11) –

+0

您是否嘗試手動運行查詢? – Manwal

回答

1

上面顯示的查詢是不同的,結果圖像是不同的。你已經使用WHERE id = {something}它應該給所有相同的id的結果。請附上正確的結果。

您可能得到的查詢結果來自另一個查詢,這就是爲什麼您無法獲得有序結果的原因。

每當代碼行爲不自然時,首先看代碼是在循環中工作還是從未假設。

0

MySQL使用CAST(expression AS TYPE)

order by CAST(number AS SIGNED) ASC 

試試這個MySQL查詢

$sThree = "SELECT `id`, `name`, `number`, `logo` FROM `itv` 
WHERE `id` = {$rTwoArray['service_id']} order by CAST(number AS SIGNED) ASC"; 
0

由於查詢是在一個循環中,我排序的最後一個數組。

$sThree = "SELECT `id`, `name`, `number`, `logo` FROM `itv` WHERE `id` = {$rTwoArray['service_id']}"; 
    $qThree = mysql_query($sThree, $conn1); 
    $rThree[] = mysql_fetch_assoc($qThree); 

usort($rThree, function ($item1, $item2) { 
    return $item1['number'] >= $item2['number']; 
}); 
debug($rThree);