还是查询一张表有n个字段 ,其中主键id
然后php代码中有一个数组$arr=array(
array('id'=>'5','num'=>100),
array('id'=>'11','num'=>99),
array('id'=>'3','num'=>98),
......
)也就是说$arr 这个数组根据num由大到小排列,,此时的id顺序是这样的,然后要求是数据库查询集合要根据这个id排列的顺序,查找对应的集合,怎么做,,看上去有点无规则,但好像又有点联系
然后php代码中有一个数组$arr=array(
array('id'=>'5','num'=>100),
array('id'=>'11','num'=>99),
array('id'=>'3','num'=>98),
......
)也就是说$arr 这个数组根据num由大到小排列,,此时的id顺序是这样的,然后要求是数据库查询集合要根据这个id排列的顺序,查找对应的集合,怎么做,,看上去有点无规则,但好像又有点联系
这么简单我就不问了,简单来说是数据表集合 根据外部数组的id排序 来输出,输出的id顺序和数组的id 顺序相同难题
与源表做关联查询,联接键 id,排序键 临时表.num
先取出来。再用php排序。array_multisort()这个函数就可实现。至于mysql有不有这种功能就不知道了。
SELECT t.* FROM `table` t,(SELECT 3 AS id UNION SELECT 2 UNION SELECT 1) AS arr WHERE t.id=arr.id
关键是组织好临时表 arr
如果php的数组是固定的,可以建立另外一张表,与原表做关联查询。
之前做过的一个学生信息录出就是这么做的。如果数组不固定的,我倒是觉得没有必要让mysql来做,交给php做未尝不是好选择。