【发布时间】:2015-07-18 19:54:43
【问题描述】:
我的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</span>... (other 10 genres)
<?php
$genre = implode(' or ', (array)$_POST['check_list'.$i]);
?>
</html>
PHP 获取:
$sql = mysql_query("select * from songs where genre_id='$genre' ORDER BY RAND() limit 10")
结果是 10 首随机歌曲(来自两种选择的流派)。我需要的是每个检查的流派 10 个(20 首歌曲,每首 10 首)。这可能吗?
编辑: 结果应该是(如果选择了摇滚和爵士),前 10 个摇滚,然后是 10 个爵士,不混合。
谢谢
【问题讨论】:
-
实现此目的的一种方法是使用 PHP 重新排列从查询返回中获得的答案。另一种方法是在 for each 循环中运行查询,这不是明智且推荐的。