【问题标题】:PHP submit button while loopPHP提交按钮while循环
【发布时间】:2018-03-19 01:36:39
【问题描述】:

大家好,我在每次单击添加按钮时如何获取表格行的值时遇到了一些问题。我试图实现的是将行的值传递给另一个 php 文件以进行 sql 查询。目前我有一个使用while循环的表,并显示数据库中的名称列表,每行有一个“添加”按钮。每当我单击添加按钮时,无论哪一行我总是得到最后一行的值。有人可以指出我在代码的哪一部分犯了错误吗? 这是我的代码

<form action="addFriend.php" method="post">     <table class="table table-bordered">
      <?php
      $i = 1;
      while($row = mysqli_fetch_array($records))
      { 
      ?>
        <tr>
          <td><?php echo $i; ?></td>
          <td><input type="text" name="addedUser" value="<?php echo $row["username"]; ?>" readonly></td>
          <td>

            <button type="submit" name="row_<?php echo $i; ?>" id="row_user" value="<?php echo $row["username"]; ?>" class="btn btn-info">ADD</button>
            <?php $i++; ?>
          </td>
        </tr>

      <?php 
      }
      ?>
    </table>
    </form>

【问题讨论】:

  • 这是因为您只有一个包含所有表格数据的表单。你需要每行都有表格
  • 你总是得到最后一行的值,因为你在任何地方都有相同的输入类型文件的名称。

标签: javascript php sql while-loop


【解决方案1】:

试试下面的代码。因为您只需要 $row["username"] 并且它已经存储在 button 值中。在while循环中添加表单并为按钮提供相同的名称,以便您可以在addFriend.php中获取用户名

<table class="table table-bordered">
      <?php
      $i = 1;
      while($row = mysqli_fetch_array($records))
      { 
      ?>
        <tr>
          <td><?php echo $i; ?></td>
          <td><input type="text" name="addedUser" value="<?php echo $row["username"]; ?>" readonly></td>
          <td>
           <form action="addFriend.php" method="post">  
            <button type="submit" name="row" id="row_user" value="<?php echo $row["username"]; ?>" class="btn btn-info">ADD</button>
           </form>
            <?php $i++; ?>
          </td>
        </tr>
  <?php 
  }
  ?>
</table>

现在在 addFriend.php 你可以通过$_POST['row'];获得价值

【讨论】:

  • 不知道为什么 plus 1 不起作用..可能是因为我是新手,帖子较少?再次感谢!
【解决方案2】:

试试下面的脚本

<form action="addFriend.php" method="post">     <table class="table table-bordered">
      <?php
      $i = 1;
      while($row = mysqli_fetch_array($records))
      { 
      ?>
        <tr>
          <td><?php echo $i; ?></td>
          <td><input type="text" name="**addedUser[]**" value="<?php echo $row["username"]; ?>" readonly></td>
          <td>

            <button type="submit" name="row_<?php echo $i; ?>" id="row_user" value="<?php echo $row["username"]; ?>" class="btn btn-info">ADD</button>
            <?php $i++; ?>
          </td>
        </tr>

      <?php 
      }
      ?>
    </table>
    </form>

addFriend.php

使用 print_r($_REQUEST);

打印表单数据

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-19
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2012-11-28
    • 1970-01-01
    相关资源
    最近更新 更多