Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将复选框的值插入与复选框名称同名的MySQL列_Php_Mysql_Checkbox - Fatal编程技术网

Php 将复选框的值插入与复选框名称同名的MySQL列

Php 将复选框的值插入与复选框名称同名的MySQL列,php,mysql,checkbox,Php,Mysql,Checkbox,谢谢你的回复!我知道你是从哪里来的。我没有像我应该说的那样回答我的问题,但我真正想弄清楚的是,向数据库中插入值的最佳方式是什么 下面是表单的一个示例 <form name="election" action="post.php" method="POST"> <b>Sally</b><br><input type="checkbox" name="FR01" value="ON"> <b>Suzy</b><

谢谢你的回复!我知道你是从哪里来的。我没有像我应该说的那样回答我的问题,但我真正想弄清楚的是,向数据库中插入值的最佳方式是什么

下面是表单的一个示例

<form name="election" action="post.php" method="POST">
<b>Sally</b><br><input type="checkbox" name="FR01" value="ON">
<b>Suzy</b><br><input type="checkbox" name="FR02" value="ON">
<b>Jeremy</b><br><input type="checkbox" name="FR03" value="ON">
<b>William</b><br><input type="checkbox" name="FR04" value="ON">
<div id="search" align=center><input type="submit" id="search" value="Cast Vote"></div>
</form>
我有一个包含选举结果的数据库,它有一个自动递增ID,然后我想将其放入以复选框命名的列中,因此如果选中了复选框FR01,则在该列中插入On,他们最多可以选择三个候选人。我的困惑是,我查阅的所有教程和示例中,没有一个与我所处的情况类似,因此我没有找到任何示例,因为我找到的每个示例,人们使用相同的名称和不同的值。我只想在表中插入与复选框名称相同的列

很抱歉给你带来了困惑。我是一个新手,这是我第一次使用这个网站。
谢谢

复选框可以有相同的名称或值。这实际上取决于情况或要求。 见此:

<input type="checkbox" name="vehicle[]" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle[]" value="Car">I have a car 
这里的值和汽车相同,但名称不同

一组复选框最合适。通过在复选框名称中使用[],PHP将自动将它们解析为本机数组

$selectedVehicle  = 'None';
if(isset($_POST['vehicle']) && is_array($_POST['vehicle']) && count($_POST['vehicle']) > 0){
$selectedVehicle = implode(', ', $_POST['vehicle']);
}

$body .= 'Selected Vehicle: ' . $selectedVehicle;

单选按钮都有相同的名称,因为一次只能选中其中一个。通过复选框,可以检查任何金额,因此您需要某种方法来检测哪些是,哪些不是。您可以将它们全部命名为yourField[],然后使用唯一的ID作为值。这样,你的$_POST['yourField']中就有了一个值数组,你就知道哪些值被选中了。@RocketHazmat我明白,很抱歉这个问题不好。你可以用任何你想要的方式来做。name=vote[]value=candidate1或name=candidate1 value=ON都可以工作。但我不会将ON用作存储在数据库中的值。bool值1或0通常用于此。这是正确的,但在名称后加上方括号通常会很有帮助,使其成为一个数组载体[]。如果您将结果放在$\u POST数组中,您的示例会更好。很抱歉,我编辑了我的问题,因为我问的问题完全是反向的,但是我正在努力解决的问题现在被贴得更清楚了一点。谢谢你的好例子。
$selectedVehicle  = 'None';
if(isset($_POST['vehicle']) && is_array($_POST['vehicle']) && count($_POST['vehicle']) > 0){
$selectedVehicle = implode(', ', $_POST['vehicle']);
}

$body .= 'Selected Vehicle: ' . $selectedVehicle;