Löschen einer vorhandenen ID, wie lösen?...

  • Themenstarter Themenstarter TearOfDragon
  • Beginndatum Beginndatum
T

TearOfDragon

Hallo zusammen,

Bisher konnte ich leider auf der Suche hier (sowohl in den Tuts als auch im eigentlichen Forum über die Suche) und in anderen Foren nicht wirklich etwas finden, was mir weiterhelfen konnte und zwar geht es darum, das ich versuche eine Art Adminpanel zu schreiben und welches dem Benutzer erlaubt, Einträge zu tätigen er aber auch wieder löschen soll....

Theoretisch würde das so aussehen, das der User nur jeweils einen Eintrag schreiben dürfte und sofern ein neuer Eintrag erstellt wird, müsste der alte (vorhandener ID Eintrag) wieder gelöscht werden können... am besten per Button....evtlweise ist da auch eine reine Editfunktion am besten, aber hab da leider nicht wirklich Ahnung von....was meint ihr dazu?

QT ist bisher folgender:

PHP:
mysql_select_db($database_belt, $belt);
$query_news_start = "SELECT * FROM belt";
$news_start = mysql_query($query_news_start, $belt) or die(mysql_error());
$row_news_start = mysql_fetch_assoc($news_start);
$totalRows_news_start = mysql_num_rows($news_start);

und hier wäre die bisherige Ausgabe:

PHP:
echo "<form name=\"form1\" method=\"POST\" action=\"<?php echo $editFormAction; ?>\"><table border=\"1\" class=\"dyntab\"><td>".$row_news_start['news_text']."</td><td><input type=\"submit\" name=\"Submit\" value=\"Eintrag l&ouml;schen\"><input type=\"submit\" name=\"Submit\" value=\"Eintrag editieren\"></td></table></form>";
mysql_query ("DELETE FROM belt WHERE ID = '6'") or die (mysql_error ());

Wäre schön, wenn mir dabei jemand helfen könnte :)
 
Zuletzt bearbeitet von einem Moderator:
Entweder du machst es so, dass du den vorhandenen Eintrag ersetzt anhand der ID
oder du löschst halt über die Spalte der UserID bevor du den neuen Eintrag einträgst :)
 
_voodoo hat gesagt.:
Entweder du machst es so, dass du den vorhandenen Eintrag ersetzt anhand der ID
oder du löschst halt über die Spalte der UserID bevor du den neuen Eintrag einträgst :)

Hiho, danke, aber soweit war die Logik von mir auch schon, aber die Frage ist, wie ich das bewerkstellige¿?, da das Thema für mich ein neues Gebiet ist mit dem löschen und/oder editieren..... ._.
 
Naja ist ja eigentlich recht simpel, z.B. anhand der ID löschen:
PHP:
mysql_query ("delete from `tabelle` where `id` = '123'") or die (mysql_error ());
oder editieren:
PHP:
mysql_query ("update `tabelle` set `spalte` = '".$neuer_wert."' where `id` = '123'") or die (mysql_error ());
 
Musst doch nur andere SQL Statements an die Datenbank schicken ...
For Example:
DELETE FROM tabelle WHERE ID = '4'
UPDATE tabelle SET column = 'neuer wert', column2 = 'neuer wert2' WHERE ID = '4'
 
:)

Danke euch beiden, das klappt schonmal fast ganz *g* Bloß, das ich nach dem bestätigen folgende Meldung bekomme

You don't have permission to access /belt/admin/< on this server.

Das Problem habe ich schonmal auf das action im Formular eingegrenzt weil da quasi ein php im php steckt....Könntet ihr mir evtl sagen, wie wäre da die richtige Schreibweise (Verkettung) wäre?


@Suye und _Voodoo

So wie ihr die Beispiele geschrieben habt, klappt das doch nur, wenn man die ID fest angibt? Aber da, wenn ein Eintrag gelöscht, ein neuer geschrieben wird, auch eine neue ID vergeben wird, muss das jedesmal dann umgeändert werden oder gibts da was, was das automatisch erkennen würde oder verstehe ich da etwas nicht ganz? ;P
 
Huhu

das Löschen erübrigt sich doch hier eigentlich.

Wenn ein Beitrag erstellt und dieser anschließend modifiziert werden soll, so dass nur einer vorhanden sein darf, dann genügt zu Anfang ein Insert, nach Vergleich der ID dann im weiteren Verlauf nur ein Update. Löschen des Eintrags nur in dem Falle, wenn es der Eintragende absolut will und dann via Aktion und Button.

Oder Einträge sammeln und nur den aktuellsten ausgeben..

Oder, es gibt in mySQL auch eine Replace-Funktions-Alternative.
http://dev.mysql.com/doc/mysql/de/replace.html
 
Hiho,

klar, sehe ich, das Fragzeichen. Wollte ich aber nicht. ;)
Unsere Postings haben sich einfach überschnitten. (sh. 1 Min. Unterschied, ich war einfach zu spät :-) )

Du hast in der Datenbankprogrammierung viele Möglichkeiten, um ans Ziel Deiner Träume zu kommen.

Wenn ich Deine Fragestellung so lese und Du nur ein Posting pro User möchtest, dann kommt für mich in Frage

Abfrage ob Userkennung (eindeutig per Login festgelegt in Session oder Cookie) oder id vorhanden
wenn nicht, dann
insert des 1. Datensates des Users
ansonsten
update oder replace des Datensatzes
ende

Auf Anforderung des Users oder des Admins Löschen des Datensatz via Button bzw. ausgeführter Aktion.
 
Luzie hat gesagt.:
Abfrage ob Userkennung (eindeutig per Login festgelegt in Session oder Cookie) oder id vorhanden

Auf Anforderung des Users oder des Admins Löschen des Datensatz via Button bzw. ausgeführter Aktion.

Also zur Zeit arbeite ich ohne Cookies und Sessions weil die auch noch außerhalb meines Sachverständnisses liegen und dementsprechend momentan nur über mehrere Htaccess Bereiche über die sich der User einloggen kann....und komplettes überarbeitetes/vorgefertigtes Script kann ich wohl kaum verlangen und würde auch den Rahmen glaube ich sprengen ^^

Gibt es da nicht ne Möglichkeit es so zu basteln, aus obrigen QT von mir das es trotzdem klappt? Der Eintrag wird ja mit Hilfe von Voodoos und Suye's auch schon gelöscht, bloß halt das ich dann noch ne Fehlermeldung bekomme, weil das ACTION falsch geschrieben wurde?

Hab das Beispiel oben im ersten Eintrag von mir mal aktualisiert sowie der Stand der Dinge jetzt ist....
 
Zuletzt bearbeitet von einem Moderator:
Zurück