2017-02-21 2 views
0

Jungs. Ich ging mit meiner App in Ordnung, bis ich zu dieser Art von Formular kam, das unten geschrieben wurde. Ich habe 2 Einträge in dieser Tabelle und die IDs sind "1" und "2". Wenn ich jedoch "Submit" auf den "1" ID Artikel drücke, druckt es mich jedes Mal "2". Hat jemand eine Ahnung, was das Problem sein könnte? Vielen Dank.Fehler in der Form arbeiten mit PHP, MySQL und HTML

<form method="POST"> 
    <?php 
    $query = "SELECT * FROM table"; 
    while($row = $query->fetch_array()) 
    { 
     $id = $row['id']; 
    ?> 

    <input type="hidden" name="id" value="<?php echo $id; ?>" > 
    <input type="submit" name="submit"> 

    <?php } ?> 

</form> 

<?php 
if(isset($_POST['submit'])) 
{ 
    echo $_POST['id']; 
} 
?> 

Antwort

0

Sie geben zwei Elemente in demselben Formular mit demselben Namen aus. Wenn Sie auf die Schaltfläche Submit klicken, sammelt es alle Felder in dem Formular basierend auf dem Attribut Name und sendet sie an wo immer das Formular gebucht wird.

Wenn Sie eine Schaltfläche haben möchten, die jede ID mit einer separaten Schaltfläche übermittelt, sollten Sie versuchen, für jede ID ein neues Formular zu verwenden. Es gibt andere Möglichkeiten, dies auch zu tun, aber versuchen Sie etwas auf Grundlage Ihres aktuellen Codes:

<?php 
    $query = "SELECT * FROM table"; 
    while($row = $query->fetch_array()) 
    { 
     $id = $row['id']; 
    ?> 
    <form method="POST"> 
     <input type="hidden" name="id" value="<?php echo $id; ?>" > 
     <input type="submit" name="submit"> 
    </form> 
    <?php } ?> 

<?php 
if(isset($_POST['submit'])) 
{ 
    echo $_POST['id']; 
} 
?>