【问题标题】:How to make a checkbox query with multiple statements?如何使用多个语句进行复选框查询?
【发布时间】: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 循环中运行查询,这不是明智且推荐的。

标签: php mysql


【解决方案1】:

请使用以下代码

  $genre = implode(' , ', (array)$_POST['check_list'.$i]);
 $sql = mysql_query("select * from songs where genre_id IN ($genre) ORDER BY RAND() limit 10")

【讨论】:

  • 仍在打印 10 个混合结果。
猜你喜欢
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 2014-05-07
  • 1970-01-01
  • 2011-05-30
相关资源
最近更新 更多