简体   繁体   中英

PHP submit button while loop

Hi guys im having a bit of a problem on how to get the value of the table row everytime i click an add button. what im trying to achieve is that to pass the value of the row to another php file for sql query. at the moment i have a table using a while loop and displaying a list of names from the database with a "ADD" button per row. When ever i click the add button regardless of which row i always get the value of the last row. can someone please point of on which part of the code i made a mistake? here is my code

<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>

Try Below code. As you want only $row["username"] and it is already stored in button value. Add form in while loop and give same name for button so that you can get username in 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>

Now in addFriend.php you can get value by $_POST['row'];

Try Below script

<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>

In addFriend.php

print form data using print_r($_REQUEST);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM