Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.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 选择在自定义订单中的位置_Php_Mysql - Fatal编程技术网

Php 选择在自定义订单中的位置

Php 选择在自定义订单中的位置,php,mysql,Php,Mysql,这可以工作,但行的顺序是这样的-12,13,19,25 如何获取按$str值排序的行,即-25,12,13,19?除非对结果进行显式排序,否则引擎可以按任意顺序返回结果行。要对结果进行排序,必须包含一个orderby子句。您可以在这里使用field()。它获取值在值列表中的位置 $str = "25,12,13,19"; $sql = "select id, src, link from banners where id in (" . $str . ")"; 可能重复的 SELECT

这可以工作,但行的顺序是这样的-
12,13,19,25


如何获取按
$str
值排序的行,即-
25,12,13,19

除非对结果进行显式排序,否则引擎可以按任意顺序返回结果行。要对结果进行排序,必须包含一个
orderby
子句。您可以在这里使用
field()
。它获取值在值列表中的位置

$str = "25,12,13,19";  

$sql = "select id, src, link from banners where id in (" . $str . ")";
可能重复的
SELECT d,
       src,
       link
       FROM banners
       WHERE id IN (25, 12, 13, 19)
       ORDER BY field(id, 25, 12, 13, 19);