gpt4 book ai didi

php - 使用php在数据库的单列中插入多个值

转载 作者:行者123 更新时间:2023-11-28 02:31:07 24 4
gpt4 key购买 nike

我想使用 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."'),";
}

关于php - 使用php在数据库的单列中插入多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50737258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com