功能不显示正确的值

时间:2015-06-18 12:50:32

标签: php

我使用函数来显示表中的所有值,但是在另一个表中检查要检查的值。

我正在尝试从一个表中打印所有值,然后在复选框中打印它们。然后我使用此函数显示所有值并标记值,如果在另一个表中选中它们。

function emarketing_oprema_checked(){
  $id = test_input($_GET['id']);
  $link = new mysqli("localhost", "xxx", "xxx", "xxx");
  $link->set_charset("utf8");
  $sql=mysqli_query($link, "SELECT a.OpremaId, a.OpremaNaziv, b.Oprema, b.Partner 
    FROM jos_ib_emarketing_oprema a 
    LEFT JOIN jos_ib_emarketing_stavke_oprema b ON a.OpremaId = b.Oprema where Partner = $id  ");

   while($record = mysqli_fetch_array($sql)) {
     $data='<input type="checkbox" name="oprema[]" value="'.$record["OpremaId"].'"';

   if(isset($record['Oprema'])) {//field in the database
         $data.=' checked="checked';
       }
       $data.='">'. $record["OpremaNaziv"] .'</br>';
    echo $data;

    }

    }

因此,我只获得了检查值,而不是未检查的值。

这是我的表格

<div class="col-xs-6">
  <input type="checkbox" id="oprema" onclick="Exposeoprema()">Oprema<br>
      <div id="Scrolloprema" style="height:150;width:200px;overflow:auto;border:1px solid blue;display:none">
       <?php
        emarketing_oprema_checked();
         ?>
      </div> 
</div>

1 个答案:

答案 0 :(得分:0)

isset($record['Oprema']始终为true,即使其值为null,因为该字段存在。

您需要检查它的值。

尝试:

if ($record['Oprema']) {
    $data.=' checked="checked';
}