首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不排序值的PHP fetch_array/sql

不排序值的PHP fetch_array/sql
EN

Stack Overflow用户
提问于 2013-02-02 17:41:44
回答 2查看 121关注 0票数 3

SQL:

代码语言:javascript
复制
SELECT question,alt_1,alt_2,alt_3,alt_4 FROM questions WHERE id IN ('12','2','32','23')

PHP:

代码语言:javascript
复制
while ($questions = mysql_fetch_array($game)){
    echo "$questions[question]";
}

我希望按值发送到sql的顺序打印行: 12 -2- 32 - 23。

但是fetch_array/sql(?)似乎对这些值进行了排序,因此顺序如下:2- 12 - 23 - 32 (从最小的数字开始..)

有没有办法阻止数组按数字排序!?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-02 18:07:47

使用FIND_IN_SET

代码语言:javascript
复制
SELECT question,alt_1,alt_2,alt_3,alt_4 
FROM questions 
WHERE id IN ('12','2','32','23') 
ORDER BY FIND_IN_SET(id, '12,2,32,23')

注意FIND_IN_SET(id,' 12,2 ,32,23') 12,2不带空格

代码语言:javascript
复制
FIND_IN_SET(field, 'val1,val2')
票数 0
EN

Stack Overflow用户

发布于 2013-02-02 17:56:19

试试你的,

代码语言:javascript
复制
" ORDER BY FIELD(id'12','2','32','23')"
代码语言:javascript
复制
          SQL: "SELECT question,alt_1,alt_2,alt_3,alt_4 FROM questions WHERE id IN 
          ('12','2','32','23') ORDER BY FIELD(id'12','2','32','23')"

           while($questions = mysql_fetch_array($game)){
           echo "$questions[question]";
       }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14660569

复制
相关文章

相似问题

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