Delete eines Datensatzes mit Button

CreativPur

Erfahrenes Mitglied
Guten Morgen,

ich habe eine Tabelle, wo automatisch zu jedem neuen Datensatz ein Lösch-Button erstellt wird. Dies funktioniert auch soweit. Nur wie bringe ich den jeweiligen Button dazu, den dazugehörigen Datensatz zu löschen ?

Code:
<form action="<?=$loeschen?>" method="post" name="loeschen">
<?php

// Verbindung zur Datenbank aufbauen...
$verbindung = mysql_connect ("xxxxxxxxx",
"xxxxxx", "xxxxx")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");

mysql_select_db("xxxxxx")
or die ("Die Datenbank existiert nicht.");


$session = Mage::getSingleton('customer/session');
$customer = $session->getCustomer();
$id = $customer->getId(); 
mysql_set_charset('utf8');

// Abfrage der Datenbank aufbauen... 
// Wenn die Verbindung zur Datenbank besteht, dann können wir nun mit der Abfrage anfangen. 
// Sollte die Verbindung nicht bestehen, so musst du die Daten für die Verbindung aktualisieren! 



echo   "<br /> 
   <br />";
  
echo "<table border= 0";
echo "<tr>";
echo "<td class=td_anrede><font color=#09F><b>Anrede:</b></td>";
echo "  ";
echo "<td class=td_firma_ansprechpartner_name><font color=#09F><b>z.Hd.:</b></td>";
echo "  ";
echo "<td class=td_firma_email><font color=#09F><b>e-Mail-Adresse:</b></td>";
echo "  ";
echo "<td class=td_firma_name><font color=#09F><b>Firmenname:</b></td>";
echo "  ";
echo "<td class=td_firma_telefon><font color=#09F><b>Telefon:</b></td>";
echo "  ";
echo "<td class=td_firma_strasse><font color=#09F><b>Strasse:</b></td>";
echo "  ";
echo "<td class=td_firma_ort><font color=#09F><b>Ort:</b></td>";
echo "  ";
echo "<td class=td_loeschen><font color=red><b>Löschen: </b></td>";
echo "  ";
echo "</tr></table>";

echo   "<br />";
echo "<hr size=1>";

echo   "<br />";
  

   
$sql = "SELECT * FROM BW_mails WHERE magento_id = '$id' AND datum = CURDATE()";
$result=mysql_query($sql) or die("Fehler");
// SQL Daten Ausgeben
while ($row=mysql_fetch_assoc($result)) 
{ 
echo "<table border=\"0\">\n";
echo "<tr>";
echo "<td class=td_anrede>".$row['firma_ansprechpartner_anrede']."</td>";
echo "  ";
echo "<td class=td_firma_ansprechpartner_name>".$row['firma_ansprechpartner']."</td>";
echo "  ";  
echo "<td class=td_firma_email>".$row['firma_email']."</td>";
echo "  ";
echo "<td class=td_firma_name>".$row['firma_name']."</td>";
echo "  ";
echo "<td class=td_firma_telefon>".$row['firma_telefon']."</td>";
echo "  ";
echo "<td class=td_firma_strasse>".$row['firma_strasse']."</td>";
echo "  ";
echo "<td class=td_firma_ort>".$row['firma_ort']."</td>";
echo "  ";
echo "<td>


<input type=\"button\" name=\"loeschen\" value=\"löschen\" class=\"button2\" onClick=\"self.location.href='bewerbung-senden.html?id=".$row['id']. "'\">
</td>";

echo "</tr></table>";   
}


$loeschen = "DELETE FROM BW_mails Where ????";
$geloescht = mysql_query ($loeschen);



$abfrage = "SELECT jobsuche FROM BW_Customer_Daten WHERE id = $id";
$ergebnis = mysql_query ($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
        
?>   
</form>

Für Eure Hilfe wäre ich sehr dankbar
 
Ich habe es jetzt folgend gelöst..
Code:
echo "<td>



<input type=\"button\" name=\"loeschen\" value=\"löschen\" class=\"button2\" onClick=\"self.location.href='bewerbung-senden.html?id=".$row['id']. "'\">
</td>";



mysql_query("DELETE FROM BW_mails WHERE id='".mysql_real_escape_string($_GET['id'])."'");

Leider muss ich zum löschen den Button jedes mal 2x klicken. Wo steckt der Fehler ?
 
Hast du es mal in einen anderen Browser probiert?

Du nutzt noch die mysql_* Funktionen diese sind allerdings deprecated, es wird daher empfohlen (würde ich an deiner Stelle auch machen) auf die mysqli_* Funktionen, die mysqli-Klasse oder auf PDO-Klasse umzusteigen.

Als zweites übernimmst du einen Wert aus dem GET einfach so in deine Query. Dies birgt gefahren in Form von SQL-Injections.
Entweder du müsstest diese vorher mittels real_escape_string bereinigen oder du nutzt Prepared Statements (wird momentan von allen so empfohlen).
 
Zurück