2016-10-23 4 views
0

Ich benutze, um eine Tabelle mit MySQL Tabelleninhalte zu erstellen. Das Problem ist, ich versuche, eine Lösch (x) -Schaltfläche für jede Zeile in der Tabelle (Spalte Löschen) zu erstellen.Löschen einer Zeile von MySQL nach ID

<?php 
$html = "<table>"; 
$html .= "<tr>"; 
$html .= "<th>id</th>"; 
$html .= "<th>Event type</th>"; 
$html .= "<th>Date</th>"; 
$html .= "<th>Price(€)</th>"; 
$html .= "<th>Description</th>"; 
$html .= "<th>Delete</th>"; 
$html .= "</tr>"; 

foreach($event as $e){ 
    $html .= "<tr>"; 
    $html .= "<td>$e->eventId</td>"; 
    $html .= "<td>$e->eventType</td>"; 
    $html .= "<td>$e->eventDate</td>"; 
    $html .= "<td>$e->eventPrice</td>"; 
    $html .= "<td>$e->eventDescr</td>"; 
    $html .= "<td><--the delete button has to be here--></td>"; 
    $html .= "</tr>"; 
} 

$html .= "</table>"; 
echo $html; 

Ich habe versucht, einen Knopf onclick, aber absolut fehlgeschlagen. Könnte mir jemand irgendwelche Tipps geben?

+1

was fehlt Ihnen? Ich sehe auch keinen db-Code. –

+0

Grundsätzlich möchte ich die DELETE FROM Tabellenname-ID some_column = eventId verwenden –

+0

müssen Sie verwenden DELETE FROM Tabelle WHERE col =? –

Antwort

0

Meine Lösung ist nur eine von vielen möglichen

1) js Funktion erstellen Zeile zu entfernen und eine Ajax-Anforderung ruft ein Element aus DB

function removeRow(item,eventId) 
{ 
    var row = $(item).parent().parent(); 
    $.ajax(url: '(url_to)/remove.php?id='+eventId, 
     success: function(resp) 
     { 
      if(resp=='OK') 
      { 
      row.remove(); 
      } 
     } 
); 

}

2) erzeugen löschen

Taste
$html .= '<td><a href="javascript:removeRow(this,'.$e->eventId.');return false;">Delete</a></td>'; 

3) erstellen PHP-Skript

<?php 
//connection to DB 
$dbhost = "localhost"; 
$dbname = "dbb"; 
$dbuser = " "; 
$dbpswd = " "; 

try 
{ 
    $db = new PDO("mysql:host=".$dbhost.";dbname=".$dbname,$dbuser,$dbpswd); 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    //removing event 
    $count = $db->exec("DELETE FROM `someTable` WHERE id = {intval($id)}"); 
    //return OK if event was correctly deleted 
    if($count==1) 
    { 
    echo 'OK'; 
    } 
} 
catch (PDOException $e) 
{ 
    //only for development version 
    echo $e->getMessage(); 
} 
die(); 
+0

so was geht in das PHP-Skript? Ich nehme etwas wie DELETE FROM TABELLE events_archive WHERE id = eventId? –

+0

I habe in meiner vorherigen Antwort geschrieben – marcus

+0

scheint wie $ dbh ist eine undefinierte Variable hier ... –

Verwandte Themen