0

我想编写循环遍历表格行并发布文本输入和每行单选的 PHP 代码。

示例 HTML

  <body>
    <form method="post" action="table.php">
    <table>
      <tr>
        <td><input type="text" name="name[]"></td>
        <td><input type="radio" name="radio1" value="+">+</td>
        <td><input type="radio" name="radio1" value="-">-</td>
      </tr>
      <tr>
        <td><input type="text" name="name[]"></td>
        <td><input type="radio" name="radio2" value="+">+</td>
        <td><input type="radio" name="radio2" value="-">-</td>
      </tr>
      <tr>
        <td><input type="text" name="name[]"></td>
        <td><input type="radio" name="radio3" value="+">+</td>
        <td><input type="radio" name="radio3" value="-">-</td>
      </tr>
      <tr>
        <td><input type="text" name="name[]"></td>
        <td><input type="radio" name="radio4" value="+">+</td>
        <td><input type="radio" name="radio4" value="-">-</td>
      </tr>
      <tr>
        <td><input type="text" name="name[]"></td>
        <td><input type="radio" name="radio5" value="+">+</td>
        <td><input type="radio" name="radio5" value="-">-</td>
     </tr>
  </table>
  <input type="submit" value="submit">
  </form>
  </body>
</html>

在行数可能不同的情况下。

4

1 回答 1

0
<?php
  $rowCount = count($_POST['name']);
  echo "<table>";
  for ($i=0; $i<$rowCount;$i++)
  {
    echo "<tr>";
    echo "<td>".$_POST['name'][$i-1]."</td>";
    echo "<td>".$_POST['radio'.$i]."</td>";
    echo "</tr>";
  }

  echo "</table>"
?>

通过使用count()计算每行中存在的数组元素来获取行数,在本例中为 name="name[]"。然后通过创建一个for循环遍历行,并在for循环内使用$_POST获取每个变量。要获取为每一行选择的单选值(即 radio1、radio2 等),请不要按数组而是按名称引用元素名称,因为如果您创建一个元素 radio[],则不同的行将被视为同一个电台选择组。

于 2013-01-30T17:29:45.943 回答