1

我有一个简单的数组 $ids 例如(2,9,4,10,18)。而且我还有一个 mysql 表 $table1 ,其 ID 与主键相同。我的问题是:如何仅使用 1 个查询以与数组中的 ID 相同的顺序选择表中的元素(我不使用数组的每个 ID 号来调用查询,因为该表是假定的有很多条目)。

不过,如果你能给我另一种方法,我想知道。

4

2 回答 2

1

如果您使用字符串而不是数组,则:

<?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

 }
 ?>
于 2013-10-11T12:08:56.433 回答
0

创建一个包含两列的临时表,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

于 2013-10-11T12:04:49.803 回答