我有这个多复选框选择并且代码工作正常我的问题是只在数据库中发送一个值例如我选择 PHP 和 java 他只插入 PHP 或 JAVA 但我想在数据库中插入所有选择短语
if(isset($_POST['submit'])){
for($i = 0; $i < count($_POST['name']); $i++){
$filename = $_POST['name'][$i];
$selectName['name'] = "<div class='rgt' style='padding:10px;'>".$filename."</div>";
}
$getse = $DB_con->prepare("INSERT INTO `testt` (name) VALUES (:name)");
$getse->execute(array(":name"=>$selectName['name']));
}
和这段 html 代码
<form action="" method="post" id="list1" class="dropdown-check-list" tabindex="100">
<span class="anchor">Select Fruits</span>
<ul id="items" class="items">
<li><input type="checkbox" name="name[]" value="C/C++"><label>C/C++</label><br/></li>
<li><input type="checkbox" name="name[]" value="Java"><label>Java</label><br/></li>
<li><input type="checkbox" name="name[]" value="PHP"><label>PHP</label><br/></li>
<li><input type="checkbox" name="name[]" value="HTML"><label>HTML</label><br/></li>
</ul>
<input type="submit" class="btn btn-info" name="submit" Value="Submit"/>
</form>
注意:写完这段代码后不插入数据库
echo "<div class='rgt' style='padding:10px;'>".$filename."</div>";
他写入了所有选择的值,但在插入数据库后他只发送了一个值
抱歉英语不好。
最佳答案
if(isset($_POST['submit'])){
for($i = 0; $i < count($_POST['name']); $i++){
$filename = $_POST['name'][$i];
$selectName['name'] = "<div class='rgt' style='padding:10px;'>".$filename."</div>";
}
$getse = $DB_con->prepare("INSERT INTO `testt` (name) VALUES (:name)");
$getse->execute(array(":name"=>serialize($selectName['name'])));
}
检索时使用 unserialize() 获取数组。
示例代码
$names=unserialize($row['name']);
关于php - 将数组值插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38090373/