2017-02-16 13 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>"; 
     } 
?> 

私は、文字列はImage1の、画像2、画像3のようにmysqlデータベースにすでに存在する場合は、チェックボックスをチェックしたいです。では、どうしたらいいですか?

があなたのwhileループであなたに

+3

ここでは、SQLインジェクションが可能です: 'where university_name = '"。$ _ POST [' university_name ']。 "'"; ' –

答えて

2

チェックを感謝し、条件が満たされた場合にチェック値を割り当てる助けてください。以下のコードのように。

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>"; 
     }