![](/img/trans.png)
[英]how to insert multiple checkbox values in single column in database using php
[英]Insert multiple values in single column of database using php
我想使用php在数据库中插入多个复选框值。 但是使用此代码,它不会插入数据库中。 请告诉我有什么问题以及解决方法。 现在,当我检查生物和物理学时,我想将它们添加到数据库的单列中。
这是HTML部分
<select value="class" class="wp-form-control">
<option value="Select your class" >Select your class</option>
<option value="10th" onclick="myFunction()">10th</option>
<option value="12th" onclick="myFunction1()">12th</option>
</select>
<div id="mydiv" style="display:none">
<input type="checkbox" name="subject[]" value="1">bio<br>
<input type="checkbox" name="subject[]" value="2">phy<br>
<input type="submit" value="Calculate" name="submit" class="wpcf7-submit">
</div>
<div id="mydiv1" style="display:none">
<input type="checkbox" name="subject[]" value="3">maths<br>
<input type="checkbox" name="subject[]" value="4">sciecne<br>
<input type="submit" value="Calculate" name="submit" class="wpcf7-submit">
</div>
这是PHP的一部分
<?php
$host = 'localhost:3306';
$user = 'root';
$pass = '';
$dbname = 'wpf';
$conn = mysqli_connect($host, $user, $pass,$dbname);
if(!$conn){
die('Could not connect: '.mysqli_connect_error());
}
if(isset($_POST['submit'])) {
if(isset($_POST['subject'])) {
$classes=$_POST['subject'];
$c=count($classes);
$price=0;
for($i=0;$i<$c;$i++) {
if($classes[$i]==1) {
$price+=200;
}
if($classes[$i]==2){
$price+=300;
}
if($classes[$i]==3){
$price+=400;
}
if($classes[$i]==4) {
$price+=500;
}
}
$chk="";
foreach($classes as $sub) {
$sub.= $sub.",";
}
if($classes) {
$insert="INSERT INTO feedetails
(subjects,price)
VALUES ('$sub',$price')";
if(mysqli_query($conn,$insert)) {
echo ("<SCRIPT LANGUAGE='Javascript'>
window.alert('Your fee has been updated.Please proceed to pay.');
window.location.href='payment.php';
</SCRIPT>");
}
}
}else{
echo ("<SCRIPT LANGUAGE='Javascript'>
window.alert('Please select atleast one subject to proceed');
</SCRIPT>");
}
}
?>
我尝试了implode()
函数,但无法正常工作。
您可以在数据库的不同列中插入值,也可以使用爆破并将值保存到一列中
$_POST['subject']
应该是一个数组。
$subject = implode(',', (array)$_POST['subject']);
$query="INSERT INTO feedetails (subjects,price) VALUES ('".$subject."','".$price."')";
您也可以像这样通过一个查询插入多个项目
$query = "INSERT INTO feedetails (subjects,price) VALUES ";
for ($z=0; $z < count($subject); $z++) {
$query .= "('" . $subject[$z] . "','".$price."'),";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.