2016-09-29 116 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' –