将Array值插入数据库

时间:2016-06-29 04:25:30

标签: php mysql

我有这个多复选框选择和代码工作正常我的问题是在数据库中只发送一个值例如我选择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>";

他写了所有选中的值,但在插入数据库后,他只发送一个值

抱歉英语不好。

1 个答案:

答案 0 :(得分:0)

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']);