这是我的PHP脚本,它从数据库中提取记录然后创建动态复选框,复选框是用户需要选择的水果列表。
我想要实现的是,如果它与另一个数组中的某些信息匹配,则自动选中该复选框。
让我们说数组内容是Banana,Mango,Apple。我希望这些复选框自动检查。我怎样才能做到这一点?感谢。
<?php
fruits = $stmt->prepare("SELECT * FROM fruits ORDER by fruit_id ASC");
$fruits->execute();
$cols = 6;
do {
echo "<tr>";
for ($i = 1; $i <= $cols; $i++) {
$row = $fruits->fetch(PDO::FETCH_ASSOC);
if ($row) {
$fruit_id = $row['fruit_id'];
$fruit_name = $row['fruit_name'];
?>
<td>
<table>
<tr valign="top">
<td>
<?php echo '<input type="checkbox" id="fruit_id[]" name="fruit_id[]" value="' . $fruit_id . '"/>' . $fruit_name . "\n"; ?>
</td>
<td width="30"> </td>
</tr>
</table>
</td>
<?php
} else {
echo "<td> </td>";
}
}
} while ($row);
?>
答案 0 :(得分:2)
你可以这样做:
if(in_array("apple", $yourArray)) { echo "checked"; }
希望你明白
答案 1 :(得分:1)
让我们说你的自制水果阵列是$ autocheck_array。然后你可以使用:
<?php echo '<input type="checkbox" id="fruit_id[]" name="fruit_id[]" value="'
. $fruit_id . '"' . (in_array($fruit_name, $autocheck_array) ? ' checked="checked"' : '')
. '"/>' . $fruit_name . "\n"; ?>
如果您愿意,可以轻松地将三元运算符更改为if语句,但我更喜欢单行方法。