使用php循环访问HTML表格复选框

时间:2015-11-15 09:59:38

标签: php

我有一个类似的线程使用JavaScript但我发现了一些问题和一些错误。所以我改为php

到目前为止,这是我的代码

if(!empty($_POST['check'])) {
    foreach($_POST['check'] as $check) {
        //get the html data beside the checked checkboxes

    }
    }else{
        echo '<script language="javascript">';
        echo 'alert("Nothing checked")';
        echo '</script>'; 
    }

和我剥离的HTML代码

<tr>
                                <td><?php echo $r['Name'] ?></td>
                                <td><?php echo $r['Age'] ?></td>
                                <td><?php echo $r['Address'] ?></td>

                                <td><input name="check[]" type="checkbox"  ></td>
                            </tr>

我不想在检查复选框的同一行上获取数据。请帮我。感谢

1 个答案:

答案 0 :(得分:0)

首先,让我们添加一些数据:

<?php

$data = [
  '111' => [
    'Name' => 'John',
    'Age' => '25',
    'Address' => 'Baker street, 11'
  ],
  '222' => [
    'Name' => 'Mary',
    'Age' => '19',
    'Address' => 'Elm street, 14'
  ],
  '333' => [
    'Name' => 'Nick',
    'Age' => '23',
    'Address' => '64th stree, 2'
  ]
];

?>

输出所有数据项并设置先前发布数据的检查:

<form method="POST">
<table>
  <?php foreach($data as $id => $item): ?>
  <tr>
    <td><?= $item['Name'] ?></td>
    <td><?= $item['Age'] ?></td>
    <td><?= $item['Address'] ?></td>
    <td><input name="check[]" type="checkbox" value="<?= $id; ?>"
      <?php if (isset($_POST['check']) && in_array($id, $_POST['check'])): ?>
      checked="checked"
      <?php endif; ?>/></td>
  </tr>
  <?php endforeach; ?>
</table>
<input type="submit" />
</form>
<?php if (empty($_POST['check'])): ?>
<script>alert("Nothing checked");</script>
<?php endif; ?>

在表单提交后,您将获得重新加载的页面,并带有正确标记的复选框。