WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Daten aus der Datenbank löschen

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Daten aus der Datenbank löschen - 24 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Daten aus der Datenbank löschen
chrisbears
Pixelschubser
Threadstarter




Beiträge: 6

Hallo zusammen,

das Übliche: Newby, hat keine Ahnung, versucht aber tolle Sachen mit PHP und MYSQL zu basteln, wälzt schlaue Bücher, klaut aus Tutorials und anderen Scripten und schreit nun "HILFÄÄÄ"


Ich habe mir eine Seite gebastelt, auf der ich Termine eingebe, die per Formular an die DB übermittelt und dann dann in Tabellenform dargestellt werden. Die Felder "Datum", "Name", "Ort", "Beschreibung" kommen aus dem Formular, das Feld "id" wird automatisch zugewiesen. Funktioniert prima.
Nun möchte ich bestimmte Datensätze wieder löschen; auch das per Formular. Funktioniert überhaupt nicht. Ich nehme an, dass ich den Datensatz, der gelöscht werden soll, irgendwo übergeben muss (bzw., hier die variable $id). Woher soll das teil auch wissen, welche id gemeint ist. Wie mache ich das?
Ich habe mit Freude gesehen, dass Dummies wie ich hier nicht mit der sonst leider üblichen Arroganz behandelt werden. Glaubt mir, PHP Manual, Volltextsuche in x Foren und GOOGLE habe ich ausreichend hinter mir...
Vielen Dank im Voraus,

chris
------------------------------------------------------------------------------
Hier kommt der komplette Code:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78:


 

Markttermine eintragen

Datum (YYYY-MM-DD) Name des Marktes Ort Beschreibung

Termin Übersicht ($daten" ?> Termine)

$feldname"; } ?> "; foreach ($row as $key => $value) { echo ""; } echo ""; echo ""; } if (isset ($_POST['loeschen'])) { mysql_select_db("datenbank", $dp); $query_delete = ("DELETE FROM termine WHERE id = '$id'"); $delete = mysql_query($query_delete, $dp); } ?>
$value


---
You see it's all a show
Keep 'em laugh and as you go
Just remember that the last laugh is on you.
  Profil   Website   Editieren   Zitieren
progrookie
Fachidiot




Beiträge: 127

An welcher Stellte des Codes hast Du die Get-Variable initialisiert?
1:
$id = $_GET['id']

Vielleicht müsstet Du ein HIDDEN-FIELD erzeugen und dem die ID zuweisen, wenn Du sowieso alles über ein Formular händelst.

Oder habe ich es zu einfach verstanden???

---

Diese Nachricht wurde geändert von: progrookie
  Profil   E-Mail   Website   Editieren   Zitieren
chrisbears
Pixelschubser
Threadstarter




Beiträge: 6

Hmm, keine Ahnung, ob Du das zu einfach verstanden hast; ich weiss ja nicht, wie einfach mein Problem ist...
***grins***
Das mit dem HIDDEN-FIELD habe ich auch schon durch, leider ohne Erfolg.
Ich habe da, glaube ich, ein grundsätzliches Verständnisproblem:
Das Script holt sich brav die Daten aus der Datenbank, schreibt alles in die Tabelle und setzt den an das Ende der Tabellenzeile.
Alles was ich jetzt mit
1: 
2: 
3: 
4:
if (isset ($_POST['loeschen'])) {
   mysql_select_db("datenbank", $dp);
   $query_delete = ("DELETE FROM termine WHERE id = '$id'");
   $delete = mysql_query($query_delete, $dp);

versuche, ist meiner Meinung nach Blödsinn, da das Script ja gar nicht weiss, welche id gemeint ist.
1: 
2: 
3:
	
$id = $_GET['id']

war da nur ein halbherziger Versuch ohne dass ich da genau wusste, was ich da mache.
Tja, wie hole ich diese Information und wo und wie übergebe ich sie?
Und wie schreibe ich diesen Text, ohne dass jemand merkt, dass ich überhaupt keine Ahnung habe?
Argh...

Grüße und Danke für die Antwort,

chris

---
You see it's all a show
Keep 'em laugh and as you go
Just remember that the last laugh is on you.

  Profil   Website   Editieren   Zitieren
progrookie
Fachidiot




Beiträge: 127

also was mir noch aufgefallen ist folgendes:
Du erzeugst 2x ein FormTag. Das erste funktionier auch deshalb weil es geschlossen wurde(). Beim 2ten wird es allerdings nicht geschlossen. Dadurch kann auch normalerweise kein Postback ausgelöst werden. Wenn doch, dann weiß er logischerweise nicht welcher Button gedrückt wurde. Wenn Du kurz bevor dur dein FormularTag schließt deine Hiddenfield befüllst und deklarierst kannst Du darauf zugreifen wie zuvor...!

Ich denke mir, dass war es schon

---

  Profil   E-Mail   Website   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

um es vorwegzunehmen. das script ist nicht grad, das was man ordentlich strukturiert
nennt, aber es sollte seine zweck jetzt erfüllen, wenn es auch zu unerwateten
FEHLERN führen kann.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76:


 

Markttermine eintragen

Datum (YYYY-MM-DD) Name des Marktes Ort Beschreibung

Termin Übersicht ($daten" ?> Termine)

$feldname"; } ?> "; foreach ($row as $key => $value) { echo ""; } echo ''; echo ""; } if (isset ($_GET['del'])) { //mysql_select_db("datenbank", $dp); $query_delete = ("DELETE FROM termine WHERE id = '".$_GET['del']."'"); $delete = mysql_query($query_delete); } ?>
$value Löschen


ich habe das löschen nicht über POST gelöst sondern per GET, weil es einfacher zu handhaben ist.
ich würder dir auch empfehlen mal mit
header();
zu arbeiten.denn jedesmal wenn du den browser nach einem eintrag refreshst, wird der post nochmal abgesetzt.
wenn du dafür hilfe brauchst. einfach nochmal melden.

gruß raiserle

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!
  Profil   Editieren   Zitieren
chrisbears
Pixelschubser
Threadstarter




Beiträge: 6

So einfach kann das Leben sein...

@raiserle: Deine Lösung funktioniert. Nur nochmal zur Kontrolle:
Du lässt den ganzen Formularkram weg und hängst stattdessen "?del" an die URL. Das wiederum definierst Du im gleichen Atemzug als '.$row['id'].'
Diesen Wert holst Du dann weiter unten mit ".$_GET['del']." wieder hervor und definierst damit die id, die gelöscht werden soll.
Mehr nicht???
Mann, Mann, Mann...
Die Datensätze werden jetzt korrekt gelöscht; angezeigt wird das aber erst, wenn ich die Seite reloade. Ich nehme mal an, Dein Hinweis auf header(); zielt genau darauf. Ich guck' mir das mal an und geh' Euch in den nächsten Tagen bestimmt wieder auf den Sack damit...
Eine Frage zur Schreibweise: ".$_GET['del']." Ist das das Gleiche wie \"$GET_['del']\" ?

@progrookie: Der tag stand ausserhalb des Bereichs; den hatte ich nicht mit gepostet. Mann, jag' mir doch nicht so einen Schrecken ein; ich war kurz davor mir den Schädel an der Tischkante einzudreschen; hab' dann aber vorsichtshalber doch noch mal nachgeschaut.

Ich dank' Euch vielmals für die Hilfe!

Viele Grüße,

chris

---
You see it's all a show
Keep 'em laugh and as you go
Just remember that the last laugh is on you.

  Profil   Website   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

Eine Frage zur Schreibweise: ".$_GET['del']." Ist das das Gleiche wie \"$GET_['del']\" ?


nein, es ist nicht das selbe. du willst bestimmt auf das mysql-statement hinaus.

id='wert' die einfachen hochkomma könnten an dieser stelle auch weggelassen werden, da die id ja int ist.
die ".$var." sind nur eine stringverkettung das 1. doppelhochkomma geht aus dem string raus, der punkt ist der verkettungsoperator .... und andersrum

normal werden Variablen in doppelhochkommas mit geparsed, aber ich mag es nicht.
ausserdem darfst du dann nicht das assoziativarray $_GET['del'] in einfache hochkommas setzen. es müsste dann so aussehen $_GET[del]

nochwas zur richtigen anwendung von mysql-statements.
benutze mysql_real_escape_string();

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Daten aus der Datenbank löschen

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Daten aus der Datenbank löschen im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8128172    Heute : 54     Gestern : 513     Online : 12     24.11.2024    3:07      0 Besucher in den letzten 60 Sekunden        
Nach oben