我将简化代码以突出显示我需要的内容:
<form id="highlighttable" name=form1 method="POST">
<div class="form-group">
<button name="save_multicheckbox" class="btn-primary">Save Checkbox</button>
</div>
<?php
if(isset($_POST['save_multicheckbox'])){
echo "<p>yes</p>";
$checklist = $_POST['ckb'];
foreach($checklist as $list) {
echo "<p>as</p>";
}
}
?>
<table>
<tr id="col-title">
<th>Title</th>
<th>Type</th>
<th>Post Date</th>
<th>Url</th>
<th>Feature</th>
</tr>
<?php foreach($result as $res){
?><tr>
<td><h6>Lorem</h6></td>
<td><h6>Lorem</h6></td>
<td><h6>Lorem</h6></td>
<td><h6>Lorem</h6></td>
<td id="h-center"><input type="checkbox" name="ckb[]" onclick="chkcontrol(<?php echo $res->chkbox_num; ?>)">
</td>
</tr>
<?php
} ?>
</table>
</form>
我的选择查询中有 foreach,它输出下面的表行:
<?php foreach($result as $res){} ?>
输出:
我想做的是通过用复选框(最后一列)标记我想要得到的内容来回显或检索每个选定行的其余行
<td id="h-center"><input type="checkbox" name="ckb" onclick="chkcontrol(<?php echo $res->chkbox_num; ?>)"></td>
我的问题是我的 foreach 没有输出我在下面尝试过的选定行:
if(isset($_POST['save_multicheckbox'])){
echo "<p>yes</p>";
$checklist = $_POST['ckb'];
foreach($checklist as $list) {
echo "<p>as</p>";
}
}
首先我尝试在按钮内添加一个回声来检查它是否有效,我只是想知道如何显示选定的行。我用来获取它的变量可能有问题吗?我的尝试是
$checklist = $_POST['ckb'];
,其中ckb
是复选框的名称。
澄清:下面的屏幕截图显示了我的 foreach
onclick
它们的值从 0 开始
你应该让你的 foreach 循环只显示通过检查相应的复选框是否被选中来选择的行。 您可以通过在循环中添加一个 if 语句来做到这一点,如下所示:
foreach($result as $res) {
if(isset($_POST['ckb'][$res->id])) {
// display the row here
}
}