我想使用PHP将多个选定的单选按钮值以及复选框存储到MySQL数据库中。请告诉我输入按钮中输入的名称和值以及如何在Mysql查询中传递它?
示例1(单选按钮):
答案1答案2答案2
答案3答案4任何其他原因,请注明
示例2(复选框)
答案1
回答2
回答3
答案4,请指定
回答5
答案6
无
答案 0 :(得分:4)
广播组只能选择一个项目。复选框可以存储多个选项的值。
我提供的只是一个例子而不是工作代码。您需要根据您的要求参考并确实需要。
首先使用以下示例代码填充输入字段
广播组
<input type="radio" name="radio_group" value="answer1">
<input type="radio" name="radio_group" value="answer2">
<input type="radio" name="radio_group" value="answer3">
复选框组
<input type="checkbox" name="checkbox_group[]" value="answer1">
<input type="checkbox" name="checkbox_group[]" value="answer2">
<input type="checkbox" name="checkbox_group[]" value="answer3">
现在在数据库中创建一个类似于下面的表
数据库表
CREATE TABLE IF NOT EXISTS `your_table_name` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`radio_group` enum('answer1','answer2','answer3') NOT NULL DEFAULT 'answer2', // for radio button
`checkbox_group` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, // for checkbox serialized data
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
有很多方法可以将数据插入表中。在下面的例子中找到几个选项
示例1
$my_radio_value = $_POST['radio_group'];
$my_checkbox_values = $_POST['checkbox_group'];
$checkbox_result = serialize($my_checkbox_values);
// now store $my_radio_value and $checkbox_result in table by running query
INSERT INTO `your_table_name` (radio_group, checkbox_group) VALUES ($my_radio_value, $checkbox_result);
示例2
您也可以使用json
代替serialize
$my_radio_value = $_POST['radio_group'];
$my_checkbox_values = $_POST['checkbox_group'];
$checkbox_result = json_encode($my_checkbox_values);
// now store $my_radio_value and $checkbox_result in table by running query
INSERT INTO `your_table_name` (radio_group, checkbox_group) VALUES ($my_radio_value, $checkbox_result);
示例3
但直接使用$_POST
并不是一个好主意。您可以使用mysql_real_escape_string()
或filter_input()
。我个人更喜欢使用filter_input()
// using mysql_real_escape_string()
$my_radio_value = mysql_real_escape_string($_POST['radio_group']);
$my_checkbox_values = mysql_real_escape_string($_POST['checkbox_group']);
// using filter_input()
$my_radio_value = filter_input(INPUT_POST, 'radio_group');
$my_checkbox_values = filter_input(INPUT_POST, 'checkbox_group');
// serialize output for checkbox
$checkbox_result = serialize($my_checkbox_values);
// json output for checkbox
$checkbox_result = json_encode($my_checkbox_values);
// now store $my_radio_value and $checkbox_result in table by running query
INSERT INTO `your_table_name` (radio_group, checkbox_group) VALUES ($my_radio_value, $checkbox_result);
我希望这会对你有所帮助:)。