2017-04-12 59 views
-1

所以我使用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,但我怎样才能将它提交到我的数据库中

+1

[如何使用PHP post方法提交复选框值]可能重复(http://stackoverflow.com/questions/2309801/how-to-submit-checkbox-values-with-php-post-method) – Mohammad

+0

I请求如何向数据库提交清单 – Kevin

+0

将您的复选框命名为数组索引: Mohammad

回答

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> 

希望它有帮助。

+0

仍然无法正常工作,对不起 – Kevin

+0

120,当我加载你的html代码时,网站显示表格并在它下面显示“alert(”Inserted Successfully“)';} else {echo'';}}?>”我认为可能会有在你的代码中出错。 – Kevin

+0

我点击提交,它说插入失败 – Kevin

0

无论何时用户在文本框中提交值并选中任何复选框,如果要将它们存储在单个字段中,请创建数组或其他东西。顺便说一句,你不是复选框作为数组,请解决这个问题。

一旦你从文本框中选择了复选框和字符串数组,你可以用任何你想要的方式来操纵它。

1

在复选框中设置名称和值,然后为复选框创建3列,如豆类,香蕉,苹果。

<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,香蕉和苹果数据放入该db列中。 用于检索列是否包含数据1意味着它被检查,否则不检查。