如何在PHP MySQL中存储多个选定的无线电值以及复选框

时间:2014-08-07 04:18:34

标签: php mysql

我想使用PHP将多个选定的单选按钮值以及复选框存储到MySQL数据库中。请告诉我输入按钮中输入的名称和值以及如何在Mysql查询中传递它?

示例1(单选按钮):

答案1答案2答案2 答案3答案4任何其他原因,请注明
 

示例2(复选框)

答案1

回答2

回答3

答案4,请指定

回答5

答案6

1 个答案:

答案 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);

我希望这会对你有所帮助:)。