我有一个简单的数组 $ids 例如(2,9,4,10,18)。而且我还有一个 mysql 表 $table1 ,其 ID 与主键相同。我的问题是:如何仅使用 1 个查询以与数组中的 ID 相同的顺序选择表中的元素(我不使用数组的每个 ID 号来调用查询,因为该表是假定的有很多条目)。
不过,如果你能给我另一种方法,我想知道。
如果您使用字符串而不是数组,则:
<?php
$arr="2,9,4,10,18";
$query = mysql_query("SELECT * FROM tablename WHERE id IN ($arr)");
while($row=mysql_fetch_array($query)){
//display data here
}
?>
创建一个包含两列的临时表,id 行和位置顺序。
然后像这样运行您的查询:
select t.* from table t
inner join #temp t2 on t.id = t2.id
where t.id in (select id from #temp)
order by t2.position
你应该为此创建一个SP,不能说你是否可以用mysql