2017-02-16 83 views
0

代碼:如果複選框的值已經在mysql中,如何顯示覆選框?

<?php 
if(isset($_POST['save'])) 
    { 
    $checkbox1=$_POST['company_name']; 
    $chk=implode(',',$checkbox1); 

    $sql = "update all_university set placement = '$chk' where university_name = '".$_POST['university_name']."'"; 
    $value = mysqli_query($link,$sql); 
    if($value == true) 
    { 
     $msg .="<h5 style='color:green'>Successfull</h5>"; 
    } 
    else 
    { 
     $msg .="<h5 style='color:red'>Error!</h5>"; 
    } 
    } 
?> 

<?php 
    extract($_POST); 
    $sql = mysqli_query($link,"select * from placement order by company_name ASC"); 
    while ($row = mysqli_fetch_array($sql)) 
     { 
      echo "<li> 
        <input type='checkbox' name='company_name[]' id='company_name' value=".$row['image_name'].">&nbsp; ".$row['company_name']."<br/> 
       </li>"; 
     } 
?> 

在這裏,我想選中的複選框,如果字符串已經在MySQL數據庫像圖像1,圖像2,圖像3。那麼,我該怎麼做?請幫助

謝謝

+3

您在這裏有可能的SQL注入:「」。$ _ POST [ 'UNIVERSITY_NAME'。 「」'這裏UNIVERSITY_NAME =「;' –

回答

2

檢查你的while循環,並在條件滿足時分配檢查值。如下面的代碼所示。

while ($row = mysqli_fetch_array($sql)) 
{  
$isCheked = ""; 
if($row['isCheked']) {//test if the values is checked in the db 
    $isCheked = "checked"; 
} 
echo "<li><input type='checkbox' ".$isCheked." name='company_name[]' id='company_name' value=".$row['image_name'].">&nbsp; ".$row['company_name']."<br/></li>"; 
} 
0

試試這個。使用ternary operator(:?)來檢查名稱是否設置。

while ($row = mysqli_fetch_array($sql)) 
     { 
      $name = $row['image_name']; 
      $check = isset($name)?"checked":""; 

      echo "<li> 
        <input type='checkbox' name='company_name[]' id='company_name' value='".$name."'".$check." >&nbsp; ".$row['company_name']."<br/> 
       </li>"; 
     }