【发布时间】:2015-04-02 03:47:38
【问题描述】:
我正在尝试根据用户复选框获取 mysql 列。这意味着如果用户选择一个复选框(例如 value2),则仅从表中检索名为 colum 的 value2。有什么方法可以在 mysql select 命令中显式指定检索所有用户检查的值(可能来自数组)。
<form action="yyy.php" method="post">
<input type="checkbox" name="check_list[]" value="value 1">
<input type="checkbox" name="check_list[]" value="value 2">
<input type="checkbox" name="check_list[]" value="value 3">
<input type="submit" />
</form>
我尝试在数组中接收值并使用如下,但它不起作用
<?php
if(!empty($data = $_POST['check_list']))
//cut some parts and simplified to focus on my problem
$sql = "SELECT $data FROM mydata WHERE id='$id'";
?>
在一些帖子中,我注意到 $id like here 使用数组。其他方法可能是循环选择语句,但我不确定。
我不是该领域的专家,我想知道任何解决方案[更好的]解决方案。
【问题讨论】:
-
check_list是一个数组,所以implode就像$data = implode(',',$_POST['check_list'])一样,然后在查询中使用$data