php
  • checkbox
  • 2017-10-04 21 views 0 likes 
    0

    選定的值的複選框我具有低於綁定在PHP

    <?php $query = "SELECT * FROM Qualification"; 
        $result = mysqli_query($dbcon,$query); 
        while($row=mysqli_fetch_array($result)){ 
        ?> 
    <input type='checkbox' value='"<?php $row['Id'] ?> "' name='Qualification[]' /><?php $row['Description'] ?><br> 
    
    <?php } ?> 
    

    提到一個PHP代碼段這上面的代碼被用來顯示所有來自數據庫的資格。

    輸出將被

    [] Teacher 
    [] Engineer 
    [] Doctor 
    [] Banker etc.. 
    

    說現在我已經檢查了3個複選框教師,工程師,醫生。

    foreach($_POST['Qualification'] as $Qualification) 
         { 
          $AllQualification .=$Qualification.","; 
         } 
    
    $AllQualification ="1,2,3," 
    

    ,所以我串接值的ID爲一個字符串,它在數據庫中存儲爲 1,2,3,

    現在我需要重新綁定DATAS該複選框。當我回憶所選資格時,它給出1,2,3,

    現在如何將selectedvalues綁定到複選框。

    我需要的輸出是老師,工程師,醫生應該檢查 和銀行家應該是uncheked。

    任何幫助表示讚賞。

    +0

    你需要將它們連接爲一個字符串?數組不工作嗎? – apokryfos

    +0

    是的,我需要連接並將其存儲爲字符串。我將它存儲在數據庫中 –

    +0

    我會推薦使數組爆炸,並過濾出不好的值。更安全,你擺脫了最後一個逗號(http://sandbox.onlinephpfunctions.com/code/dadd320e6ba72ea705b756cce5b41955cc9ab2a3)。您可能還想查看MySQL SET數據類型,因爲它可能是一個更好的解決方案,並且有一些方便的查詢支持,例如FIND_IN_SET,後者可能會派上用場(即如果您想查找所有教師) – Lee

    回答

    0

    你可以這樣做

    爆炸的字符串數組

    $AllQualification ="1,2,3,"; 
    
    $selected = explode(",", $AllQualification); 
    $selected = array_filter($selected); 
    //print_r($selected); 
    

    使用in_array您可以檢查它是否被選中

    <?php $query = "SELECT * FROM Qualification"; 
    $result = mysqli_query($dbcon,$query); 
    while($row=mysqli_fetch_array($result)){ 
        ?> 
    <input type='checkbox' value='"<?php $row['Id'] ?> "' name='Qualification[]' 
        <?php if (in_array($row['Id'], $selected)){ echo "checked" } ?> /><?php $row['Description'] ?><br> 
    
         <?php } ?> 
    

    檢查此鏈接http://sandbox.onlinephpfunctions.com/code/ae6bbfc6bd0ad84ddceadeac608fa6747de41274

    相關問題