我有以下代碼:mysql_fetch_assoc返回結果在錯誤的順序
$sortorder = $_GET['sort'];
switch($sortorder)
{
case "modulea":
$result2 = db_query("SELECT * FROM {vanqueue_registrations} WHERE isactive=1 ORDER BY `cleanmodule` ASC");
case "moduled":
$result2 = db_query("SELECT * FROM {vanqueue_registrations} WHERE isactive=1 ORDER BY `cleanmodule` DESC");
case "typea":
$result2 = db_query("SELECT * FROM {vanqueue_registrations} WHERE isactive=1 ORDER BY `cleantype` ASC");
var_dump($result2);
case "typed":
$result2 = db_query("SELECT * FROM {vanqueue_registrations} WHERE isactive=1 ORDER BY `cleantype` DESC");
default:
$result2 = db_query("SELECT * FROM {vanqueue_registrations} WHERE isactive=1");
}
while($result = mysql_fetch_assoc($result2))
{
var_dump($result);
$value .= "<tr><td><center>" . $result['cleanmodule'] . "</center></td><td><center>" . $result['cleantype'] . "</center></td><td><center>" . $directions[$result['direction']] . "</center></td></tr>";
}
正如你所看到的,它需要一個GET變量,並根據其價值,執行某個查詢。 (不用擔心,這只是測試代碼,我會明顯在稍後驗證輸入。)
我的問題:正確的查詢正在執行,但mysql_fetch_assoc
似乎是以某種方式重新排序行,不想要。
我正在測試案例typea
,當我執行頁面時,執行var_dump
的調用 - 我可以在頁面上看到結果。所以交換機肯定工作。
但是,while
語句中的var_dump
正在輸出由表中的主鍵排序的行,而不是按照我的請求cleantype輸出。
我該如何讓mysql_fetch_assoc
以我想要的方式輸出行?
TIA。
請格式化您的代碼 – 2009-12-09 22:10:16
完成,對不起 - 第一次看起來不錯 – benjy 2009-12-09 22:10:55