2016-09-29 114 views
2

我有这样一个while循环中的复选框:复选框在while循环PHP

<form method="POST"> 
    <?php $sql= mysql_query("SELECT * FROM names WHERE `id` ='$id' "); 

    while ($get = mysql_fetch_array($sql)){ ?> 
    <input type="checkbox" name="id_names" value="<? echo $get ['id'];?>"><?php echo $get ['name']; ?> 
    <?php } ?> 
    <input id="submitbtn" type="submit" value="Submit" /><br><br> 
</form> 

即使用户选择的问题是在这部分我无法得到具体的复选框性质的两个check boxes我无法呼应的答案id

<?php 
     if(isset($_POST['id_names'])) 
     { 
     $id_names= $_POST['id_names']; 
     $email = mysql_query("SELECT `email` FROM users WHERE `id` = '$id_names' "); 
    while ($getemail = mysql_fetch_array($email)) 
     { 
     echo $getemail['email']; 
     } 
     } 
    ?> 

我试图寻找,但我无法理解他们。有没有简单的方法来做到这一点?

+4

您可以点击这里:http://stackoverflow.com/questions/14026361/php-多重复选框组 – coyote34

回答

0

表单名称name="id_names"需要是一个允许参数携带多个值的数组:name="id_names[]"

$_POST['id_names']现在将成为所有发布值的数组。

0

这里你输入字段多,所以你必须使用name属性作为一个数组:

FYI:您使用的是过时您使用mysqli/PDO的MySQL。

<form method="POST" action="test.php"> 
    <?php $sql= mysql_query("SELECT * FROM names WHERE `id` =$id "); 

    while ($get = mysql_fetch_array($sql)){ ?> 
     <input type="checkbox" name="id_names[]" value="<?php echo $get['id'];?>"><?php echo $get['name']; ?> 
     <input type="checkbox" name="id_names[]" value="<?php echo $get['id'];?>"><?php echo $get['name']; ?> 
    <?php } ?> 
    <input id="submitbtn" type="submit" value="Submit" /><br><br> 
</form> 

表单操作:test.php的(如果您的查询是好的。)

​​3210
+0

请参阅已更新的问题 –

+0

立即检查@AshneelChand。 – AHJeebon

+0

因此'$ id'被存储为数字 ,所以当我做'WHERE id = $ id'它会说WHERE id ='1'' 但它应该像'WHERE id = jack' –