我有这个代码允许我从复选框中检索数据,还没有包含任何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将它们导出到查询中.. 救救我..
答案 0 :(得分:2)
您的POST变量($ _POST ['复选框'])实际上已经是一个数组。首先,要弄清楚你实际使用的是什么,请执行以下操作:
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语句是非常糟糕的做法。在将其置于生产环境之前,您需要先介绍一些安全性。
路
答案 1 :(得分:1)
使用
foreach($_POST[checkbox] as $key => $value {
echo PHP_EOL . "Key is => " . $key . " Value is => " . $value . PHP_EOL;
}
试试这个,看看输出,你会看到自己如何继续前进。