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