php从ID数组中选择多行
对于mysql表,我有10行,其中5行(一半)有php从ID数组中选择多行,php,mysql,Php,Mysql,对于mysql表,我有10行,其中5行(一半)有post\u id的5,而其他5行有post\u id的234 我想根据日期从每个帖子id中选择两行: 这就是我目前所拥有的 $post_ids = $_POST['id'][0]; $ids = implode(',', $post_ids); //id's in ',' format $query = "SELECT * FROM $table WHERE post_id in ({$ids}) ORDER by dat
post\u id
的5
,而其他5行有post\u id
的234
我想根据日期从每个帖子id中选择两行:
这就是我目前所拥有的
$post_ids = $_POST['id'][0];
$ids = implode(',', $post_ids); //id's in ',' format
$query = "SELECT * FROM $table WHERE post_id in ({$ids}) ORDER by date desc limit 2";
这仅获取与两个ID中的一个匹配的前两个结果。我是否需要为每个查询运行foreach
函数?还有别的方法吗
谢谢 您可以使用
UNION ALL
执行此任务。试试这个:
$query = "( select * from $table where post_id = $ids[0] order by date desc LIMIT 1 ) UNION ALL ( select * from $table where post_id = $ids[1] order by age desc LIMIT 1 )";
是的,将您的查询放入foreach循环,该循环获取数据库的所有记录,然后将查询放入循环中谢谢您的帮助。看来这是最简单的方法了。谢谢我不太明白,但你考虑过了吗。我有两个ID,其中每个ID有多行。(例如,id(5)=第1行、第2行、第3行、第4行等)。我试图选择总共4行(两行来自id=5,两行来自id=234)。是否可以通过示例向我展示组?:)这正是我之前评论中的链接所做的事情。请检查一下