我有一个名为extension_list
的列的表,其中包含逗号分隔值
200,201,202,203,204
等
如果我有一个从数据库中选择这些的循环:
$stmt = $pbx01_pdoconn->prepare("SELECT * from client where parent_client_id = :parent_client_id ");
$stmt->execute(array(':parent_client_id' => $customerid));
$records = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($records as $result) {
$stmt = $pbx01_pdoconn->prepare("SELECT * from extension where client_id = :client_id ");
$stmt->execute(array(':client_id' => $result["id"]));
$extension = $stmt->fetch();
if($extension["type"] == 'term') {
echo '<tr>
<td>'.$result["name"].' ('.$extension["number"].')</a></td>
</tr>';
}
}
如何在每个值旁边显示复选框,如果$ extension [&#34; number&#34;]值在extension_list列中,则勾选复选框。
此外,勾选复选框并按下提交按钮时,它将更新extension_list列并将该值添加到逗号分隔列表中
答案 0 :(得分:0)
您应该规范化表格。
然后您可以使用HTML输入复选框,例如:
<input type="checkbox" name="extensions[]" value="<?php echo $extension['id'] ?>">
然后,在您的脚本中,您可以处理它们:
$extensions = isset($_POST['extensions']) && is_array($_POST['extensions']) ? $_POST['extensions'] : array();
foreach($extensions as $extension) {
// use $extension here
}
这有助于指明你正确的方向。
答案 1 :(得分:0)
<input name="extenstionbox[]" id="extenstionbox" type="checkbox" value="<? echo $extension['id']; ?>" <?php if(in_array($extension['id'], $extensions)) echo 'checked="checked"';?>>