我使用函数来显示表中的所有值,但是在另一个表中检查要检查的值。
我正在尝试从一个表中打印所有值,然后在复选框中打印它们。然后我使用此函数显示所有值并标记值,如果在另一个表中选中它们。
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>
答案 0 :(得分:0)
isset($record['Oprema']
始终为true,即使其值为null
,因为该字段存在。
您需要检查它的值。
尝试:
if ($record['Oprema']) {
$data.=' checked="checked';
}