Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从MySQL表的有序ID列表中获取有序行列表?_Php_Mysql - Fatal编程技术网

Php 如何从MySQL表的有序ID列表中获取有序行列表?

Php 如何从MySQL表的有序ID列表中获取有序行列表?,php,mysql,Php,Mysql,我在PHP中工作,我有一个ID列表,这些ID是排名的,第一个是最重要的。我正在使用类似以下内容检索行(为了清晰起见简化): 其基本原理如下: WHERE id in ('456', '123', '789') 问题是,来自数据库的结果没有按照列表的顺序返回。按此顺序返回的最佳方法是什么?请查看按字段排序的语法 这是一个例子 select * from table where id in (x,y,z) order by field(id,x,y,z) 使用 其中,which是您希望排序的字段

我在PHP中工作,我有一个ID列表,这些ID是排名的,第一个是最重要的。我正在使用类似以下内容检索行(为了清晰起见简化):

其基本原理如下:

WHERE id in ('456', '123', '789')

问题是,来自数据库的结果没有按照列表的顺序返回。按此顺序返回的最佳方法是什么?

请查看按字段排序的语法

这是一个例子

select * from table
where id in (x,y,z)
order by field(id,x,y,z)
使用


其中,
which
是您希望排序的字段。

显然,问题是要按照查询中使用的ID的顺序从MySQL获取链接。”因此,“按什么顺序”并不是这个问题的答案。当从Redis(在Redis/MySQL组合中)读取的行中获取数据时,按照给定ID的顺序获取信息特别有用。例如,从MySQL获取Redis中保存的分数的数据特别有用!
select * from table
where id in (x,y,z)
order by field(id,x,y,z)
$sql = "SELECT * FROM books
WHERE id in ('$id_as_sql_list')
ORDER BY YourRankingField ";
$sql = "SELECT * FROM books
WHERE id in ('$id_as_sql_list') ORDER BY whatever";