如何解决如何使用PHP中的复选框从选择选项中插入选定的值?
如何使用复选框在数据库中插入选择选项值?当我单击复选框并单击注册按钮时,选择选项不会插入所选值。我在“考试类型”表中有 3 个选项(常规、重考、追索)但是当我选择了多个主题选择选项,但效果不佳。这是我的代码... here is my select option image
<?PHP
if (isset($_POST['enroll']))
{
if (!empty($_POST['chk1']))
{
if (isset($_POST['et']))
{
$roll_no = $_SESSION['roll_no'];
//$selectBox1 = $_POST['et'];
foreach($_POST['chk1'] as $checkBox1)
{
foreach($_POST['et'] as $selectBox1)
//for($i=0;$i<sizeof($selectBox1);$i++)
$values = explode("|",$checkBox1);
$values1= explode("|",$selectBox1);
$course_id= $values[0];
$semester= $values[1];
$course_name= $values[2];
$selectBox1=$values1[0];
$sql="INSERT INTO pendingcourse(roll_no,course_id,semester,course_name,exam_type,status) VALUES('$roll_no','$course_id','$semester','$course_name','$selectBox1',0)";
$stmt = $connect->prepare($sql);
$stmt->execute();
$checkBox1='';
$selectBox1='';
}
header("location:coursetable.PHP");
}
}
}
?>
<form action="coursetable.PHP" method="post" enctype="multipart/form-data">
<div class="container mt-3" >
<div class="accordion mb-4" id="accordionExample" >
<div class="accordion-item" style="background-color: rgb(0,225,255);">
<h2 class="accordion-header" id="headingOne">
<button class="accordion-button collapsed fw-bold" type="button" data-bs-toggle="collapse" data-bs-target="#collapSEOne" aria-expanded="false" aria-controls="collapSEOne" style="background: #AAFFA9;">
1st Semester
</button>
</h2>
<div id="collapSEOne" class="accordion-collapse collapse" aria-labelledby="headingOne" >
<div class="accordion-body">
<table class="table table-bordered border-primary text-center">
<thead>
<tr>
<th scope="col-1">Course Id</th>
<th scope="col-1">Semester</th>
<th scope="col-7">Course</th>
<th scope="col-1">Exam Type</th>
<th scope="col-1">Select</th>
<th scope="col-2">Result</th>
</tr>
</thead>
<tbody>
<?PHP
$stmt = $connect->query("SELECT course_id,course_name FROM coursetable Where semester = '1st' ");
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $row)
{
$course_id = $row['course_id'];
$semester = $row['semester'];
$course_name = $row['course_name'];
?>
<tr>
<td scope="row"> <?PHP echo $course_id?></td>
<td > <?PHP echo $semester ?></td>
<td ><?PHP echo $course_name ?></td>
<td>
<select name="et[]" class="form-select form-select-sm" aria-label=".form-select-sm example">
<?PHP
$stmt1 = $connect->query("SELECT * from examtype");
$rows1 = $stmt1->fetchAll(PDO::FETCH_ASSOC);
foreach($rows1 as $row1) {
?>
<option value="<?PHP echo $row1['exam_type']; ?>"><?PHP echo $row1['exam_type']; ?></option>
<?PHP
}
?>
</select>
</td>
<td>
<input type="checkBox" name="chk1[]" value="<?PHP echo $row['course_id']?>|<?PHP echo $row['semester']?>|<?PHP echo $row['course_name']?>|<?PHP echo $row1['exam_type']?>">
<label class="form-check-label" for="flexCheckDefault">
</label>
</td>
<td></td>
</tr>
<?PHP
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-2 col-xs-6 offset-md-5 mb-3">
<button type="submit" name="enroll" class="btn btn-warning mt-2">Enroll</button>
</div>
</div>
</div>
</form>
解决方法
将输入字段放在表单中并添加 enctype="multipart/form-data"
,<select name="et[]" class="form-select form-select-sm" aria-label=".form-select-sm example" multiple>
试试这个
在选择中添加多个
,已解决:
EscapeDataString
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。