Php 如何使用多个语句进行复选框查询?
我的mysql和php技能有限。 我有一个歌曲数据库,有一个流派专栏。 我正在尝试使用复选框进行查询,使用下面的帖子: HTMLPhp 如何使用多个语句进行复选框查询?,php,mysql,Php,Mysql,我的mysql和php技能有限。 我有一个歌曲数据库,有一个流派专栏。 我正在尝试使用复选框进行查询,使用下面的帖子: HTML <html> <span><input type="checkbox" name="check_list[]" value="1">Rock</span> <span><input type="checkbox" name="check_list[]" value="2">Jazz</
<html>
<span><input type="checkbox" name="check_list[]" value="1">Rock</span>
<span><input type="checkbox" name="check_list[]" value="2">Jazz</span>... (other 10 genres)
<?php
$genre = implode(' or ', (array)$_POST['check_list'.$i]);
?>
</html>
结果是10首随机歌曲(来自两种选定类型)。我需要的是每种检查类型10首(20首歌,每首10首)。可能吗
编辑:
结果应该是(如果选择摇滚和爵士乐),先是10摇滚,然后是10爵士乐,而不是混合
Thx请使用下面的代码
$genre = implode(' , ', (array)$_POST['check_list'.$i]);
$sql = mysql_query("select * from songs where genre_id IN ($genre) ORDER BY RAND() limit 10")
仍然在打印10个混合结果。实现这一点的一种方法是使用Php重新排列从查询返回中得到的答案。另一种方法是在for-each循环中运行查询,这是不明智的,也是不推荐的。
$genre = implode(' , ', (array)$_POST['check_list'.$i]);
$sql = mysql_query("select * from songs where genre_id IN ($genre) ORDER BY RAND() limit 10")