Gästebuch
Daniel
- php
1 Dennis-1 hilker0 Tom0 Andreas Lindig0 Tom
1 Andreas Lindig
0 Ben
Hallo zusammen,
ich hab ein Gästebuch mit php geschrieben und das in einer mySQL Datenbank gespeichert wird. Auf meiner Homepage habe ich jetzt die Einträge dargestellt und nach der id sortiert (es wird auch immer angezeigt z.B. 11. Nachricht, also anhand der id). Wenn ich jetzt aber in der Datenbank Einträge lösche (z.B. ich lösche Eintrag 9, dann wird dieser Wert übersprungen und im Gästebuch steht: Eintrag 8 ..., Eintrag 10... Wie kann ich erreichen, dass diese id eifach auf den 10. Eintrag übertragen wird, so dass dieser zum 9. wird?
Mit freundlichen Grüssen
Daniel
Hi Daniel,
ich hab ein Gästebuch mit php geschrieben und das in einer mySQL Datenbank gespeichert wird. Auf meiner Homepage habe ich jetzt die Einträge dargestellt und nach der id sortiert (es wird auch immer angezeigt z.B. 11. Nachricht, also anhand der id). Wenn ich jetzt aber in der Datenbank Einträge lösche (z.B. ich lösche Eintrag 9, dann wird dieser Wert übersprungen und im Gästebuch steht: Eintrag 8 ..., Eintrag 10... Wie kann ich erreichen, dass diese id eifach auf den 10. Eintrag übertragen wird, so dass dieser zum 9. wird?
In diesem Fall würde ich sagen, kannst du nicht mit der ID arbeiten. Du wirst wohl oder übel "von Hand" die Zahlen davor schreiben müssen, d.h. wenn du weißt, es sollen ab ID 10 die nächsten 10 Einträge angezeigt werden, fange einfach bei 10 an und zähle jede Ausgabe eins höher.
Was besseres fällt mir dazu jetzt auch nicht ein - es sei denn, du würdest nach jedem Löschen die IDs für sämtliche Einträge neu vergeben. Das ist aber schlecht, da eine ID ja etwas einmaliges sein soll und wenn ich mir guestbook.php?id=5 bookmarke, will ich da ne Woche später ja immer noch den selben Eintrag sehen.
MfG, Dennis.
mir schon:
denke mal es geht um mySQL
da würd ich beim löschen ein
"UPDATE tabelle SET id = id - 1 WHERE ID > gelöschter Eintrag"
ausführen.
Auch das mit der Schleife vom Vorposter ist eine funktionable Lösung
Gruß Markus
Hello,
mir schon:
denke mal es geht um mySQL
da würd ich beim löschen ein
"UPDATE tabelle SET id = id - 1 WHERE ID > gelöschter Eintrag"
ausführen.
Interessant ;-)
Nun würde mich noch interessieren, welchen Spaltentyp ID hat,
und wie Du die Multiuser-Fähigkeit der DB berücksichtigst.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Tom,
Interessant ;-)
Nun würde mich noch interessieren, welchen Spaltentyp ID hat,...
vielleicht .jpg oder so ;-)
Gruß, Andreas
Hello,
Interessant ;-)
Nun würde mich noch interessieren, welchen Spaltentyp ID hat,...
vielleicht .jpg oder so ;-)
*LOL*
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
Die ID sollte aber aus schon genannten Gründen nicht geändert werden. Erst Recht, wenn mal andere Tabellen mit Verknüpfungen dazukommen, bekommst Du arge Schwierigkeiten, wenn Du mit sowas anfängst.
Merke: eine ID heißt ID, weil sie zum ID_entifizieren da ist und nicht als willkürlich veränderbarer Schmuck.
Gruß, Andreas
Hi Dennis,
gibst du die Daten in einer for-Schleife aus? Dann könntest du nämlich einfach den entsprechenden Wert ausgeben, statt der ID und damit werden dann deine Einträge ganz normal durchgezählt.
Viele Grüße
Ben