ja wenn jetzt sich jemad anmeldet und vergisst denn button zum voten alos denn code ist ja seine Site-ID noch in der Datenbank gespeichert aber er benutzt sie nicht.
Nun möche ich die Site-ID löschen geht auch aber wenn sich dann jemand nochmal anmeldet bekommt er eine neue ID und nicht die ID die ich gelöscht habe.
Beispeil es sind 7 Siten in der Datenbank und ich lösche die 7 dann sind es noch 6 nun möche ich aber das wenn sich jemand neu anmeldet die ID 7 bekommt weil wenn nicht dann habe ich so keinen überblick mehr.
also ID’s sind in der Datenbank immer fortlaufend, selbst wenn du da eine rauslöäscht, wird die nicht wieder vergeben, weil meistens die Spalte mit autoincrement hochgezählt wird.
ich nehme an, das die ID nicht vom Script sondern von
der Datenbank erzeugt wird und das ist dein Problem, du
kannst natürlich die ID auch im Script erzeugen und dann
deinen gewünschten Effekt erreichen. Die Datenkbank
speichert lediglich den Zählerstand und wenn eine neue
Zeile hinzukommt, wird dieser lediglich hochgezählt und
als neuer ID Wert eingetragen. Du kannst soweit ich
weiss auch den AutoIncrement Wert der Tabellen
zurücksetzen, aber dann werden die IDs wieder von 0
vergeben - mach also für dich keinen Sinn.
Hallo erstmal, meine name ist blaq2beatz (spitzname)
ich haben
ein problem mit einer Datenbank undzwar möchte ich
etwas
löschen
alos die Datenbank gehört zur einer PHP-Topliste von
wahrscheinlich handelt es sich in der Datenbank um das erste Feld id mit der Eigenschaft auto_increment.
Man könnte ein neues Datenbankfeld hinzufügen mi8t einem anderen Namen z.B: lfd.
Auf der seite fragt man mit mysql_num_rows()die Anzahl der Tabelleneinträge ab und speichert die in einer Variablen. Diese wird das als lfd benutzt.
also zu Beginn der Seite:
php
Datenbankverbindung herstellen
NUM_ROWS-Abfrage der entsprechenden Tabelleneinträge
neue lfd = Ergebnis + 1
php Ende
Dann kann man über phpmyadmin unbenutzte Datensätze löschen. Da sich die Anzahl verringert werden dann auch wieder überflüssig gewordene Nummern benutzt.
Deine Frage ist schon einige Monate her und ich dachte, ich hätte Dir geantwortet, habe ich aber scheinbar nicht, sorry dafür!
Ein auto_increment ist dazu gedacht in sog. flachen Tabellen einen eindeutigen Bezeichner zu liefern, daher ist hier keine Änderungsmöglichkeit vorgesehen. So weit ich weiß, kann man die Werte nur per Hand zurücksetzen (PHPMyAdmin), ohne gleichzeitig Daten zu verlieren.
Der richtige Weg in Deinem Fall wäre, einen weiteren Wert in die Datenbank zu schreiben und diesen dafür zu verwenden.
Hallo, ich bin mir zwar ziemlich sicher, dir vor einem halbe Jahr schon mal geantwortet zu haben, aber in meinem Profil steht deinen Anfrage als unbeantwortet.
Nun denn:
Das Feld id ist in der Regel mit dem Attribut auto increment ( selbst hochzählend) versehen. Für deine Zwecke empfiehlt es sich ein weiteres Feld anzulegen, meinetwegen „user“ Diese Nummer wird dann so vergeben, das zunächst mit num_rows die Anzahl der Einträge gezählt wird und dann die nächste Zahl also n+1 in das Feld user eingetragen wird. Deinen php code musst du dann natürlich dementsprechend ändern in php?user=7
Die andere Möglichkeit besteht darin, am Ende des Codes den sql -Befehl ALTER TABLE tabellenname AUTO_INCREMENT =Anzahl der Einträge + 1 (siehe oben)
auszuführen.