繁体   English   中英

如何使用php将表单中的复选框数组中的值获取到数据库

[英]How to get the value from checkboxes array in a form to a database using php

我正在尝试从使用php和sql插入数据库的表单中选中的复选框中获取值。 我已经包括了html和一些我想开始工作的php。 php的第一部分效果很好。 php的第二位是从插入数据库的表单中获取复选框值的许多尝试之一。 谢谢您的帮助!

<?php

$sql = "INSERT into students set student_number = '{$_POST['student_number']}', 
first_name = '{$_POST['first_name']}', last_name = '{$_POST['last_name']}', degree = 
'{$_POST['degree']}'";
mysql_query($sql);

?>

<?php

$classes->bind_result($class);
$classes->execute();
$class = array();
while ($classes->fetch()) {
$class[] = $class;
}

?>
<div class="div1">COP1000:</div><input class="checkbox1" type="checkbox"     
value="COP1000" name="class[]" id="class[]" /><br />

<div class="div1">COP2800:</div><input class="checkbox1" type="checkbox" 
value="COP2800" name="class[]" id="class[]" /><br />

<div class="div1">CIS2910C:</div><input class="checkbox1" type="checkbox"    
value="CIS2910C" name="class[]" id="class[]" /><br />

<div class="div1"> COP2830:</div><input class="checkbox1" type="checkbox"  
value="COP2830" name="class[]" id="class[]" /><br /><br />

$_POST['class']是一个数组。

您可以(自然地)将这些值转换为字符串,从而将这些值插入数据库的一个字段中。 最简单的方法是:

$str = implode(',', $_POST['class']);

在您的值之间使用逗号(,)。 当您想读取所有值时,可以使用explode()如下所示:

$array = explode(',', $str);

如果希望遍历每个值并对每个值执行更新/操作,则应遍历数组:

foreach($_POST['class'] as $class) {
    // run code per class

    // example
    $sql = sprintf("INSERT INTO `table` (`class`) VALUES('%s')", mysql_real_escape_string($class));
}

重要(不相关)说明:在将输入插入数据库之前,应先清理输入。 如果没有,用户可以扩展您的SQL查询,并且基本上可以对您的数据库执行任何操作。 有关更多信息,请单击bazmegakapa的链接

每次遇到任何问题要知道什么包含一些变量时,都可以使用var_dump()

所以用

var_dump($_POST);

您将获得通过POST发送的所有信息。

现在也检查$ _POST ['class'],继续直到得到答案。

暂无
暂无

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

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