首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql_fetch_assoc以错误的顺序返回结果

问mysql_fetch_assoc以错误的顺序返回结果
EN

Stack Overflow用户
提问于 2009-12-10 06:08:34
回答 1查看 468关注 0票数 0

我有以下代码:

代码语言:javascript
复制
    $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似乎以我不想要的方式重新排序了行。

我正在使用case typea进行测试,当我执行页面时,对var_dump的调用也会被执行--我可以在页面上看到结果。

但是,while语句中的var_dump输出表中按主键排序的行,而不是按我的请求按清除类型排序的行。

如何让mysql_fetch_assoc以我想要的方式输出行?

蒂娅。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-10 06:11:12

你在所有案例的结尾都忘了使用break ...

因此,您的default查询总是最终被执行。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1877266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档