# löschen von datenbankeinträgen über button



## alranas (18. Juli 2009)

hallo leute sorry wenn ich im falschen bereich bin oder die frage schon war ich habe sie leider nicht gefunden.

mein problem ist dass ich daten aus einer datenbank auslesen möchte und auf einer php seite wiedergeben möchte. sollte so ne art adminbereich sein wo man den link und das bild bearbeiten kann und löschen kann.

also die ausgabe die klappt:


```
db_con();
	$dir = "images/";
	$sql = "SELECT * FROM pic_rota";
	$result = mysql_query($sql);
	
	while($row = mysql_fetch_object($result)){
		echo "<tr>";
		echo "<td>".$row->img_url.".jpg</td>";
		echo "<td>".$link.$row->link_url.".php</td>";
		echo "<td><input type=button value='Löschen' name=".$row->ID."></td>";
		echo "<td><input type=button value='Edit' name='edit'></td>";
		echo "</tr>";
	}
```
damit kein problem ich möchte jetzt nur noch dass ich mit dem klick auf den button::löschen der eintrag in der datenbank gelöscht wird und bei edit ich 2 felder bearbeiten kann. 

ich habe momentan ne schwere blockade vielleicht kann mir jemand helfen und ein paar gedanken anregungen geben
vielleicht gibt es auch ne lösung das bild dann auch aus dem "images/"-ordner gelöscht wird


----------



## ZodiacXP (18. Juli 2009)

Willkommen im Forum.

Du solltest die Attribute "value" und "name" für den Löschbutton genau umgekehrt anwenden:

```
<input type=button value='123' name="del">
```
Wobei für "123" die jeweilige ID eingesetzt wird.
Das wäre die einfachste Möglichkeit.

Dann hast du bei einem Klick die zu löschende ID in $_POST["del"] oder in $_GET["del"].

Angenehmer ist natürliche mehrere Formulare die wie deines Aufgebaut sind und noch zusätzlich ein hidden-Feld haben:

```
<input type="hidden" name="ID" value="123">
```

Bitte achte stets auf die Rechtschreibung!


----------



## alranas (18. Juli 2009)

ZodiacXP hat gesagt.:


> Du solltest die Attribute "value" und "name" für den Löschbutton genau umgekehrt anwenden:
> 
> ```
> <input type=button value='123' name="del">
> ```



nur habe ich dann das problem dass er mi beim button die id anzeigt das will ich jedoch vermeiden

kann ich das auch anders lösen?

mfg  alranas


----------



## alranas (18. Juli 2009)

ok soweit so gut hab ich verstanden das problem ist jetzt noch dass mein button einfach nix tut owohl ich eigentlich nen ling gesetzt hätte 


```
echo "<td><input type=button value='edit' name='edit' onClick='location.href=splash_new.php?id=".$row->ID."'></td>";
```

wenn ich mir das um seitenquelltext ansehen bekomme das ergebnis also sollte es doch klappen

```
<td>Flammenlevi 25er.jpg</td>
<td>http://www.immojobs.at/index.php?page=inserat_details&angebot=35668.php</td>
<td><input type=hidden value='1' name='ID'><input type=button value='Löschen' name=1_del></td>
<td><input type=button value='edit' name='edit' onClick='location.href=splash_new.php?id=1'></td>
```

mach ich was falsch oder geht das garnicht?!


----------



## saftmeister (18. Juli 2009)

Wo wird dein form-Tag definiert? Evtl vergessen, den einzubauen? Formular-Elemente machen außerhalb eines Forms keinen Sinn, außer man verwendet Javascript.


----------



## alranas (18. Juli 2009)

ne die form ist ausserhalb des php snipets definiert:


```
<form action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data" method="POST">
```


```
<?php
	db_con();
....
while($row = mysql_fetch_object($result)){
....
}
?>
```


```
</form>
```


EDIT: ok hat sich erledigt ich habs raus gefunden die hochkomma waren nicht richtig


```
echo "<td><input type=button value='Edit' name='edit' onClick='location.href=\"splash_new.php?id=".$row->ID."\"'></td>";
```

so sieht das ganze ca in der übersicht aus

mfg alranas


----------



## ZodiacXP (18. Juli 2009)

Ich betone nochmals:
Achte bitte auf die Rechtschreibung.

Und falls du $_SERVER["PHP_SELF"] verwendest in $PHP_SELF, dann wäre ich vorsichtig: http://blog.oncode.info/2008/05/07/php_self-ist-boese-potentielles-cross-site-scripting-xss/


----------

