2015-05-04 37 views
-1

我有最新的MySQL版本(5.5),這是groupid領域的截圖PHP和MySQL沒有下令正確

我沒有碰任何東西,但有些細胞無法正常有序的這樣


enter image description here
但是,如果我在上面單擊 groupid的名字,它會正確排序是這樣的:
enter image description here


下面的PHP代碼輸出就像上面的第一張截圖一樣,沒有正確排序。請幫助如何使輸出正確訂購,就像它顯示在上面的第二個屏幕截圖中一樣,

也許可以添加代碼像這樣:order by id asc,但哪裏是在下面添加它?

$group_ids = explode(" ", $options['groupchoice_ids']); 
$groupsql = "SELECT id, title FROM " . TABLE_PREFIX . "thegroup WHERE"; 
$first = true; 

foreach($group_ids as $value) 
    { 
    if (!$first) 
     { 
     $groupsql = $groupsql . " OR "; 
     } 
     else 
     { 
     $first = false; 
     } 

    $groupsql = $groupsql . " id = '" . $value . "' "; 
    } 

$kh_optionsgroup = '<select name = "accounttype">'; 
$checksec = $db->query_read($groupsql); 

if ($db->num_rows($checksec)) 
    { 
    while ($lboard = $db->fetch_array($checksec)) 
     { 
     $kh_optionsgroup = $kh_optionsgroup . "<option value 
    ='" . $lboard['id'] . "'>" . $lboard['title'] . "</option>"; 
     } 
    } 

$verifystring = '$human_verify'; 
$kh_optionsgroup = $kh_optionsgroup . "</select>"; 
+0

你甚至可以用這種格式來讀你自己的代碼嗎? – Mike

+0

如果你看看我的回答,我實際上編輯了你的查詢。複製粘貼從我的答案來替換你的一個,它應該工作。 –

回答

1

在查詢結束後,你需要設置的順序,比如:

$groupsql="SELECT id, title FROM " . TABLE_PREFIX . "thegroup WHERE"; 
$first=true;  
foreach($group_ids as $value){ 
    if(!$first){ 
     $groupsql = $groupsql." OR "; 
    }else{ 
     $first = false; 
    } 
    $groupsql = $groupsql." id = '".$value."' ORDER BY groupid ASC"; 
} 

ORDER BY ID ASC

這將使該查詢返回它的結果從groupid列的升序排列。如果您希望降到最低(高>低),只需將ASC更改爲DESC即可。

+0

您如何知道使用此查詢的OP? –

+0

在他的代碼中這麼說...? XD –