while-Schleife verschiedene Werte aber Ajax vorbei nur ersten Wert erhalten

stimmen
0

Ich bin mit PHP Ajax passieren und das Ergebnis zu erhalten, aber Javascript wird nur die erste Schleife Wert nehmen

Hier ist mein Code:

<?php     
      $sql = 'SELECT * from booking_master
      INNER JOIN   *****
      WHERE booking_master.user_id=:id';

      $query = $conn->prepare($sql);
      $query->bindParam(':id', $id);

      $query->execute();

      if($query->rowCount())
      {

           while($row11 = $query->fetch(PDO::FETCH_ASSOC))
           {

  ?> 
  <tr>
          <td> <?php echo $row11['user_name']; ?> </td> 
          <input type=hidden name=userid id=userid value=<?php echo $row11['user_id']; ?>>
          <input type=text value=<?php echo $row11['plot_id']; ?>  name=plotid id=plotid>

          <td> <?php echo $row11['auto-book-id'];?></td>
          <td> <?php echo $row11['plot_id'];?> </td>
          <td> <?php echo $row11['plot_name'];?></td>
          <td> <?php echo $row11['trans_date'];?></td>


          <td> <a href=#  onclick=functscheme() > Select Plot</a>

 </tr>
 <?php 
           }
      } 
 ?>

Ajax-Code:

 function functscheme()
 {
     var userid=document.getElementById('userid').value;
     var plotid=document.getElementById('plotid').value;

     alert(plotid);

aber in diesem Grundstück gibt es nur ersten Wert

Veröffentlicht am 20/10/2018 um 12:39
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

getElementByIdnur liefert das erste Element mit dem ID (weil IDs nur auf ein Element verwendet werden sollen). Versuchen Sie Klassen statt verwenden.

In PHP:

<!-- These have the "class" attribute instead of "id" now -->
<input type="hidden" name="userid" class="userid" value="<?php echo $row11['user_id']; ?>">
<input type="text" value="<?php echo $row11['plot_id']; ?>"  name="plotid" class="plotid">

In JS:

// Get lists of HTML elements for inputs
// (selected by class)
var userIDElements = document.getElementsByClassName('userid');
var plotIDElements = document.getElementsByClassName('plotid');

// Array.from() converts the HTMLCollection to a normal JS Array
//   (this is necessary so we can use .map)
// .map(func) runs func on each element of the array, and returns a new
//  array with the results of that
// e.g. here, the function takes each <input> element found, and returns
//  its value, so now we have a list of values rather than a list of elements
var userIDs = Array.from(userIDElements).map(function (element) { return element.value; });
var plotIDs = Array.from(plotIDElements).map(function (element) { return element.value; });

Sehen Sie hier , um weitere Informationen über .map().

Edit: Der Code , den ich gestellt hatte , bevor falsch war - sorry.

Beantwortet am 20/10/2018 um 15:43
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more