Php 如果与其他数组匹配,则自动选中“使动态”复选框
这是我的php脚本,它从DB中提取记录,然后创建动态复选框,复选框是用户需要勾选的水果列表 我想要实现的是,如果复选框与另一个数组中的某些信息匹配,则自动选中该复选框 假设数组内容是香蕉、芒果、苹果。我希望这些复选框已自动选中。我该怎么做?谢谢Php 如果与其他数组匹配,则自动选中“使动态”复选框,php,mysql,Php,Mysql,这是我的php脚本,它从DB中提取记录,然后创建动态复选框,复选框是用户需要勾选的水果列表 我想要实现的是,如果复选框与另一个数组中的某些信息匹配,则自动选中该复选框 假设数组内容是香蕉、芒果、苹果。我希望这些复选框已自动选中。我该怎么做?谢谢 <?php fruits = $stmt->prepare("SELECT * FROM fruits ORDER by fruit_id ASC"); $fruits->execute(); $cols
<?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);
?>
您可以像这样做:
if(in_array("apple", $yourArray)) { echo "checked"; }
如果(在_数组(“apple”,“yourray”){echo“checked”;}
希望您得到它假设您的自动检查水果数组是$autocheck\u数组。然后您可以使用:
<?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语句,但我更喜欢单线方法。尝试过这种方法,但没有填充检查$自动检查数组=数组(“苹果”、“香蕉”);
value=“”.$fruit\u id.
-编辑后,请尝试使用当前代码。最简单的调试方法是查看它提供的HTML输出。只需查看结果页面的源代码。顺便问一下,为什么将id
设置为fruit\u id[]
?您只需要这个名称。一旦发送查询,php将无法使用该id,并且该id在HTML中应该是唯一的。