2017-07-10 4 views
0

Ich habe ein Skript, das auf dem Schirm alle Daten einer Tabelle druckt. Jeder Datenzeile zugeordnet, habe ich eine Schaltfläche zum Löschen, und ich möchte, dass, wenn eine Schaltfläche einer Zeile angeklickt ist, die Zeile gelöscht wird. Um dies zu tun, habe ich den folgenden Code:Löschen von Datenbank abhängig von geklicktem Knopf

$con = mysqli_connect("","","",""); 

$result = mysqli_query($con,"SELECT * FROM `clientes_pmt`"); 

while($row = mysqli_fetch_array($result)){ 
    ?> <button name="delete" value="<?php echo $row['id']; ?>" type="submit"><img src="paginas/borrar.jpg" /></button> 
    <a href="page<?php echo $row['nombre']; ?>"> 
     <div><p><?php echo $row['nombre']; ?></p></div> 
     <div><p><?php echo $row['pais']; ?></p></div> 
    </a> 
    <section class="clearboth"></section><br><?php 
} 

if(isset($_POST['delete'])){ 
    $id = $_POST['delete']; 
    $result = mysqli_query($con,"DELETE FROM `clientes_pmt` WHERE id = '$id'"); 
} 

mysqli_close($con); 

Ich erhalte keine Fehler, aber die Zeile wird nicht gelöscht.

+1

wo ist dein ''

Tag und 'Aktion und method'? –

+0

Gerade gesehen. Danke, ich wusste, es war etwas wirklich dumm – alberzyzz

+1

Sie sind willkommen. –

Antwort

3

Setzen Sie den Knopf in einem form Element zu ändern und setzen entsprechende action und method Attribute, so etwas wie:

<form action="/delete.php" method="POST"> 
    <button ...> [your button] 
</form> 
0

Sie haben diese Linie

$con = mysqli_connect("localhost","root","","YOUR DATABASE NAME"); 
0

das Ergebnis sehen Sie setzen können header() bis zum Ende dieses Teils des Codes:

if(isset($_POST['delete'])){ 
    $id = $_POST['delete']; 
    $result = mysqli_query($con,"DELETE FROM `clientes_pmt` WHERE id = '$id'"); 

    header('location:your_page_where_the_rows_are.php'); 
} 
0

Ich denke, es könnte sein, weil die $ id nicht in die Abfrage hinzugefügt wurde. Versuchen Sie Balg?

if (isset ($ _ POST ['löschen'])) {$ id = $ _POST ['delete']; $ Result = mysqli_query ($ con, "FROM clientes_pmt DELETE WHERE id =‚" $ id"... ');}

0

Verwenden Formtag und Header für Ihre Seite auf der gleichen Seite umleiten Try This -

<?php 
$con = mysqli_connect("","","",""); 

$result = mysqli_query($con,"SELECT * FROM `clientes_pmt`"); 

while($row = mysqli_fetch_array($result)){ 
    ?> 
    <form action="" method="post" > 
    <button name="delete" value="<?php echo $row['id']; ?>" type="submit"><img src="paginas/borrar.jpg" /></button> 
    </form> 
    <a href="page<?php echo $row['nombre']; ?>"> 
     <div><p><?php echo $row['nombre']; ?></p></div> 
     <div><p><?php echo $row['pais']; ?></p></div> 
    </a> 
    <section class="clearboth"></section><br><?php 
} 

if(isset($_POST['delete'])){ 
    $id = $_POST['delete']; 
    $result = mysqli_query($con,"DELETE FROM `clientes_pmt` WHERE id = '$id'"); 
    header('location:'.$_SERVER['PHP_SELF']); 
} 

mysqli_close($con); 
?> 
Verwandte Themen