【发布时间】:2014-07-08 05:36:58
【问题描述】:
我一直在尝试填充复选框列表,其中的值和名称也从 MySQL 中检索。我相信我需要将两个 iD 匹配在一起才能将其标记为已检查,但我目前不确定。
$boardsiD = $pClass->checkedBoards();
foreach($pClass->retrieveBoards() as $data)
{
$boardiD = $data['boardiD'];
$boardName = $data['boardName'];
if($boardiD == $boardsiD) ------------------ 1 ---------------------
{
$checked = 'checked="1"';
}
echo '
<li><input '.$checked.' type="checkbox" value="'.$boardiD.'">'.$boardName.'</li>
';
}
中间数字为 1 的破折号在哪里,我在那里检查板 id 是否相同,如果是,则应用 checked="1"。但它似乎不起作用。
以下是 $boardsiD 的输出;这些是已在数据库中检查的复选框;保存了我试图与$boardiD = $data['boardiD'] 匹配的 id,这是整个 id 列表(大约 30 个 id)。
Array (
[0] => Array
([board_iD] => 106468047379795203)
[1] => Array
([board_iD] => 286119451265381250)
[2] => Array
([board_iD] => 136234026166934321)
[3] => Array
([board_iD] => 468022654964640361)
[4] => Array
([board_iD] => 409757334785529893)
[5] => Array
([board_iD] => 409757334785575605)
[6] => Array
([board_iD] => 490681390589888313)
)
我不确定我是否可以使用 preg_match 或者我什至应该使用,我尝试过但效果不佳,有什么想法为什么以下不起作用?
【问题讨论】:
-
旁注:如果你想检查它,如果这是你的意图,你会做
$checked = 'checked';。除非您希望选中的值显示为<input checked="1" -
以上是正确的fred,谢谢。如果 id 与从 MySQL 检索到的任何内容匹配,我希望将框输入框设置为 1(checked="1")。这是我的目标。
-
您也可以直接在查询中使用
WHERE子句。 -
还有
in_array()可以增加使用。 -
不客气。让我知道。干杯(我要去 Lah-Lah Land)。