如果复选框中的值与数据库中的值相同,我会尝试在复选框中添加checked
:
我的数据库: Column = fees_month [] 值='$ row [month]'
My Default checkbox :
echo "<th >"."<input type='checkbox' name='fees_month[]' value= '$row[month]' checked='isChecked('$row[month]',$fees_month)' >". $row['month']."</th>";
$q = mysqli_query($conn,"SELECT * FROM fees WHERE registration_number='$qry[registration_number]'");
while ($info = mysqli_fetch_array($q)) {
$fees_month = explode(", ", $info['fees_month']);
}
function isChecked($val, $arr) {
if (in_array($val, $arr)) {
echo 'checked';
}
}
答案 0 :(得分:1)
$selected = array();
$pdo = new PDO('mysql:host=localhost;dbname=your_db', 'user', 'password');
$query = $pdo->prepare('
SELECT fees_month
FROM fees
WHERE registration_number = :registration_number
');
$query->bindParam('registration_number', $qry[registration_number]);
while ($row = $query->fetch()) {
$selected[] = $row['fees_month'];
}
$checked = in_array($active, $selected) ? 'checked="checked"' : '';
echo '<input type="checkbox" name="fees_month[]" ' . $checked . ' value="' . $active . '"/>';
// example for testing
$active = 1;
$selected = array(1, 10, 20);
$checked = in_array($active, $selected) ? 'checked="checked"' : '';
echo '<input type="checkbox" name="fees_month[]" ' . $checked . ' value="' . $active . '"/>';
答案 1 :(得分:0)
isChecked不是变量,所以变量替换在这里不起作用。
您必须执行以下操作:
rate1=less18*100/n;
rate2=nineteento35*100/n;
rate3=thirty6to60*100/n;
rate4=greater60*100/n;
代替。
答案 2 :(得分:0)
Html复选框发送值&#34; on&#34;提交时如果选中。如果您直接保存提交的值,则应检查该值是否已打开。
例如,变量$checkbox
存储您从数据库中检索的值,您可以使用以下内容:
<?php $isChecked = $checkbox == 'on' ? 'checked="checked"' : '';
echo "<input type='checkbox' $isChecked>";
?>