【发布时间】:2019-07-21 12:44:59
【问题描述】:
我有一个通过 javascript 传递到 php 文件的 id 数组。在 php 中,我收到一个包含 5 个元素的数组,如下例所示:
23
43
33
123
12
数据库表是这样的:
id
playerId
name
**position**
传递的数组包含 playerIds (23,43,33,123,12),但我想按数据库字段 position(不是数字)对该数组进行排序。
这可能吗?
提前非常感谢!
编辑:好的,我设法解决了这个问题。如果对任何人有帮助,我会将代码保留在这里:
$v = $_GET['players'];
$sortedList = array();
$playerIdsStr = implode("," , $v);
$s = "select id from players where id in ($playerIdsStr) order by position";
$q = mysqli_query($conexion, $s);
while($r = mysqli_fetch_array($q))
{
$sortedList[] = $r["id"];
}
$sortedList 是 $v 数组,但按位置排序。正是我需要的。
【问题讨论】:
-
你的服务器版本是多少?
-
嗨@PaulSpiegel,这是你要的吗?版本 PHP 5.6.30 版本 MySQL 10.1.37-MariaDB-cll-lve
-
是的 - 这就是我的意思。太糟糕了,它不是 MariaDB 1.3
-
为什么会这样??????
-
MariaDB 10.3 支持 VALUES 表构造函数:dbfiddle.uk/…