Datensatz aus der Datenbank per Button löschen

CreativPur

Erfahrenes Mitglied
Hi,

schon wieder sitze ich seit Stunden an einem Problem..

Ich habe eine Tabelle, wo die Datensätze ausgegeben werden.
PHP:
include("../system/inc/config.inc.php");

$sql = "SELECT * FROM users, users_design WHERE users.id = $userid AND users_design.userid = $userid";

$statement = "DELETE FROM users_design WHERE id = $id";
$statement = $pdo->prepare($sql);
$statement->bindParam(':id', $_POST['id'], PDO::PARAM_INT); 
$statement->execute();

foreach ($pdo->query($sql) as $row) {
echo '
<table width="100%" class="table table-hover" border="0">
  <tr>
    <td width="20%" align="left" valign="middle">Design Nr. <span style="color:green;">'.$row["id"].'</span> </td>
    <td width="20%" align="left" valign="middle"><img src="img/'.$row["design_bild"].'.jpg" height="80"></td>
    <td width="40%" align="left" valign="middle">'.$row["design_name"].'</td>
    <td width="10%" align="right" valign="middle"></td>

    <td width="10%" align="right" valign="middle">
    <form action="#?id='.$row['id'].'" id="delete" method="post">
    <input type="hidden" name="id" value="'.$row["id"].'">
    <button type="submit" class="btn btn-default btn-xs">
    <span class="glyphicon glyphicon-trash" style="padding:3px 3px 3px 3px; color:red;"></span>
    </button>
    </form>
    </td>
    </tr>
    </table>
    ';
    }

Leider löscht mein Script keine Zeile aus der Datenbank..
Wo liegt der Fehler ?
 
Zuletzt bearbeitet:
Code:
$statement = "DELETE FROM users_design WHERE id = $id";
$statement = "DELETE FROM users_design WHERE id = :id";
Siehst das was...?
 
... ein weiterer Schlampigkeitsfehler, oder mehrere: Welche Abfrage schickst du eigentlich zur DB?
Und wozu ist dieses fetch für ein Delete eigentlich gut?
Und warum prüfst du nirgends Returnwerte?

Du vermischt da mehrere Sachen, das kann natürlich nicht gut gehen.
Willst du jetzt nur ein Delete, oder auch das Select samt Anzeige (und nur Delete wenn eine ID übergeben wird?)
 
Das select benötige ich doch für die Ausgabe der Daten in der Tabelle..
In der Tabelle möchte ich für jede Zeile einen Lösch-Button

siehe Bild
test_bild.png
 
aus der Datenbank.. Diese beinhaltet 2 Tabellen
users
users_design

diese habe ich folgend verbunden..
PHP:
$sql = "SELECT * FROM users, users_design WHERE users.id = $userid AND users_design.userid = $userid";
 
Das hab ich schon gesehen. Ich will wissen woher die PHP-Variable $userid kommt, die du in dieser Abfrage verwendest.
 
Diese übergebe ich mit
<input type="hidden" name="id" value="'.$row["id"].'">

Die id ist auch die userid
 
Du hast also eine Tabellenspalte userid und eine Spalte id in users_design, die immer den selben Wert haben!?
Wohl eher nicht? Dann würde nämlich auch das Löschen der einzelnen angezeigten Einträge einer userid keinen Sinn machen.
 

Neue Beiträge

Zurück