繁体   English   中英

复选框值进入mysql查询

[英]Checkbox values into mysql query

我有这个代码允许我从复选框中检索数据,还没有包含任何mysql,所以你能帮我修改一下吗?

表格是这样的:

<form action="checkbox.php" method="post">
<input type="checkbox" name="checkbox[]" value="hostess_name">
<input type="checkbox" name="checkbox[]" value="hostess_familyname_en">
<input type="checkbox" name="checkbox[]" value="hostess_id">
<input type="checkbox" name="checkbox[]" value="hostess_firstname_en">
<br>
<br>
<input type="submit" name="Submit" value="Submit">
</form>

我插入的值应该是数据库字段,然后我有这个checkbox.php文件,它读取所选的值。

    <?php
mysql_connect("localhost", "root", "") or die(mysql_error());
echo "Connected to MySQL<br />";
?>
<?

/* and in your checkbox.php you do this: */

if(isset($_POST['Submit']))
{
echo "<pre>"; print_r($_POST);
}
$checked = mysql_real_escape_string(implode(',', $_POST['checkbox'])); 
echo $checked;
?>

如何分配复选框值数据库字段? 我想要做的是存储值并使用implode将它们导出到查询中..帮帮我..

你的POST变量($ _POST ['checkbox'])实际上已经是一个数组了。 首先,要弄清楚你实际使用的是什么,请执行以下操作:

echo '<pre>';
print_r ($_POST['checkbox']);
echo '</pre>';

然后查看您的脚本并查看输出。 有可能你会看到一个包含一些键和值的数组。 使用它,您可以决定如何继续。

如果是我,我会做以下事情来完成你的任务:

$sql = "SELECT `table_id_column`, `another_column` ";
foreach ($_POST['checkbox'] as $key => $value) {
  $sql .= ", `$value`";
}
$sql .= " FROM `hostess` ORDER BY `another_colmn` ASC";

请记住,允许以这种方式修改SQL语句是非常糟糕的做法。 在将其置于生产环境之前,您需要先介绍一些安全性。

卢克

采用

foreach($_POST[checkbox] as $key => $value {
    echo PHP_EOL . "Key is => " . $key . " Value is => " . $value . PHP_EOL;
}

试试这个,看看输出,你会发现自己如何继续前进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM