将复选框和文本值放入数据库

时间:2017-04-12 06:29:30

标签: php html phpmyadmin

所以我使用的是html,php和phpmyadmin。

我在HTML中的内容是多个复选框+文本字段。

我想要的是无论选择哪个复选框以及用户输入的文本,它都会保存到数据库中,这样无论何时编辑和删除它都可以检索它。

这是我的复选框和文本字段的HTML代码段 (如果你需要更多代码让我知道,我会添加它,但没有太多其他代码)

    <div class="add"> <label for:="txtAddress">Grocery List for:</label>
        <input type="text" name="txtAddress" size="50">
    </div>
    <label><input type="checkbox" /> Beans </label>
    <label><input type="checkbox" /> Banana</label>
    <label><input type="checkbox" /> Apples</label>

当用户点击提交时,它会将该列表添加到我已经拥有并制作的phpmyadmin数据库中。

我想知道我将如何解决这个问题。任何一般的想法或建议将不胜感激。我想我可能需要使用PHP,但如何将其提交到我的数据库

3 个答案:

答案 0 :(得分:1)

在复选框中设置名称和值,然后为复选框创建3列,如beans,banana,apples。

<div class="add"> <label for:="txtAddress">Grocery List for:</label>
        <input type="text" name="txtAddress" size="50">
    </div>
    <label><input type="checkbox" name="Beans" value="1"> Beans </label>
    <label><input type="checkbox" name="Banana" value="1"> Banana</label>
    <label><input type="checkbox" name="Apples" value="1"> Apples</label>

然后将请求数据bean,banana和apples数据放入该db列。 如果列包含数据,则检索1表示已检查,否则不检查。

答案 1 :(得分:0)

您可以使用以下方式在数据库中插入复选框值。

<html>  
<body>  
<form action="" method="post" enctype="multipart/form-data">  
<div style="width:200px;border-radius:6px;margin:0px auto">  
<table border="1">  
<tr>  
  <td colspan="2">Select Fruit:</td>  
</tr>  
<tr>  
   <td>Beans</td>  
  <td><input type="checkbox" name="LisCh[]" value="Beans"></td>  
 </tr>  
 <tr>  
  <td>Banana</td>  
  <td><input type="checkbox" name="LisCh[]" value="Banana"></td>  
 </tr>  
 <tr>  
  <td>Apple</td>  
  <td><input type="checkbox" name="LisCh[]" value="Apple"></td>  
 </tr>  

 <tr>  
  <td colspan="2" align="center"><input type="submit" value="submit" name="sub"></td>  
 </tr>  
 </table>  
 </div>  
</form>  

 <?php  
    if(isset($_POST['sub']))  
    {  
      $host="localhost";//host name  
      $username="root"; //database username  
      $word="";//database word  
      $db_name="sub_db";//database name  
      $tbl_name="list"; //table name  
      $con=mysqli_connect("$host", "$username", "$word","$db_name")or die("cannot connect");//connection string  
      $checkbox1=$_POST['LisCh'];  
      $chk="";  
      foreach($checkbox1 as $chk1)  
      {  
         $chk .= $chk1.",";  
       }  
      $in_ch=mysqli_query($con,"insert into list(checked) values ('$chk')");  
       if($in_ch==1)  
      {  
         echo'<script>alert("Inserted Successfully")</script>';  
       }  
    else  
   {  
      echo'<script>alert("Failed To Insert")</script>';  
   }  
  }  
 ?>  
  </body>  
  </html>  

希望它有所帮助。

答案 2 :(得分:0)

每当用户在文本框中提交值并选中任何复选框时,如果要将它们存储在单个字段中,请创建数组或其他内容。顺便说一下,你没有把复选框作为数组,请解决这个问题。

从文本框中获得复选框和字符串数组后,您可以以任何方式操作它。