<?php
$a=array('Cricket','Reading','Travelling','Swimming','Badminton');$hb=explode(" ",$row['hobby']);
?>
Hobbies:<input type="checkbox" name="chk[]" value="Cricket"<?php if(in_array('Cricket',$hb)){echo 'checked="checked"'; }?> />Cricket
<input type="checkbox" name="chk[]" value="Reading" <?php if(in_array('Reading',$hb)) { echo 'checked="checked"'; }?> />Reading
<input type="checkbox" name="chk[]" value="Travelling" <?php if(in_array('Travelling',$hb)) { echo 'checked="checked"'; }?> />Travelling
<input type="checkbox" name="chk[]" value="Swimming" <?php if(in_array('Swimming',$hb)) { echo 'checked="checked"'; }?> />Swimming
<input type="checkbox" name="chk[]" value="Badminton" <?php if(in_array('Badminton',$hb)) { echo 'checked="checked"'; }?> />Badminton
答案 0 :(得分:1)
以下代码将完成您要执行的操作。我有一个测试用例,提供数据源中的“行”。这将设置所有选项(您可能希望从数据源获取),迭代这些选项,验证它们是否在数组中,并根据需要添加检查字段。这也显示了HTML和PHP之间的明显区别,以供将来审核代码的开发人员使用。
<?php
// Test Case
$row['hobby'] = 'Cricket Travelling';
// Logic
$formHTML = "";
$options = array('Cricket','Reading','Travelling','Swimming','Badminton');
$selectedHobbies = explode(" ",$row['hobby']);
foreach($options as $option){
$checked = (in_array($option, $selectedHobbies)) ? "checked=checked" : "";
$formHTML .= <<<HTML
<input type="checkbox" name="chk[]" value="{$option}" {$checked} />{$option}
HTML;
}
?>
<html>
<head>
</head>
<body>
Hobbies:
<?php echo $formHTML; ?>
</body>
</html>
答案 1 :(得分:0)
嗯,有趣的是,我假设你已经使用php获取数据..然后在像<?php echo.....the row, the checkbox, then add the keyword 'checked' ?>
这样的php中标记它,这样它就会被自动检查。