2017-10-07 3 views
-1

Salut les gars im ayant un peu d'un problème sur la façon d'obtenir la valeur de la ligne de table chaque fois que je clique sur un bouton Ajouter. Ce que j'essaie de réaliser, c'est de passer la valeur de la ligne à un autre fichier php pour une requête sql. en ce moment j'ai une table utilisant une boucle while et affichant une liste de noms de la base de données avec un bouton "ADD" par ligne. Lorsque je clique sur le bouton d'ajout, quelle que soit la ligne, je reçois toujours la valeur de la dernière ligne. quelqu'un peut-il s'il vous plaît point de quelle partie du code j'ai fait une erreur? ici est mon codePHP soumettre le bouton tout en boucle

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

c'est parce que vous avez une seule forme contient toutes les données de la table. vous devez avoir un formulaire par ligne –

+0

Vous obtenez toujours la valeur d'une dernière ligne parce que partout vous avez le même nom de fichier de type d'entrée. –

Répondre

1

Essayez le code ci-dessous. Comme vous voulez seulement $row["username"] et il est déjà stocké dans la valeur button. Ajouter un formulaire en boucle while et donner même nom pour le bouton de sorte que vous pouvez obtenir le nom d'utilisateur dans 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> 

maintenant dans addFriend.php vous pouvez obtenir la valeur par $_POST['row'];

+0

@ B. Desai votre code fonctionne !! – Gray

+0

fait pas sûr pourquoi plus 1 ne fonctionne pas .. pourrait être parce que im nouveau avec moins de messages? Merci encore! – Gray

0

Essayez ci-dessous le 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> 

Dans addFriend.php

données de formulaire d'impression à l'aide print_r ($ _ REQUEST);