Hi,
lt. Handbuch gibt die mysql-Funktion
LAST_INSERT_ID() die absolut zuletzt vergebene id per auto_increment aus, die wird in einem log gespeichert.
Ich hab es aber noch nicht ausprobiert...
Grüße,
Jürgen
Hi
Die Id ist als autoincrement definiert, wenn ich jedoch einen Datensatz lösche entsteht ein Loch.
Wie ermittel ich die jeweils nächste vorhandene ID innerhalb eines Datensatzes??
Format C:
Hi,
lt. Handbuch gibt die mysql-Funktion
LAST_INSERT_ID() die absolut zuletzt vergebene id per auto_increment aus, die wird in einem log gespeichert.
Ich hab es aber noch nicht ausprobiert...
Grüße,
Jürgen
Das dürfte nicht so viel bringen, die Last_insert gibt ja nur die letzte vergebene ID wieder, da hat man ja keinen Hinweis auf die Lücken, da Autoincrement sich ja nur die höchste bisher vergebene ID sucht und um eins erhöht
die letzte nützt mir leider nix, ich bräuchte das so wie howie das sagt wenn z.B. die ID's so lauten 1 2 3 4 6 9 10, das beim blättern von der id 4 gleich auf die 6 gesprungen wird.
Format C:
.
Geändert von Radoo.de (07.09.2003 um 08:37 Uhr)
Das war ich - schreib was über frauen und jeder merkt sichs![]()
Ich kann die abfrage nich so gestalten wie dus vorschlägst, es wird nämlich bei der datenbankabfrage schon nach rubriken ausgelesen und innerhalb dieser rubriken soll dann über die id weitergeblättert werden.
Wenn jetzt zum beispiel der erste datensatz die id 1 hat und in die rubrik rote farbe gehört, der 2. hat id 2 und rubrik gelbe Farbe, der 3. die id 3 und wieder rubrik rote farbe
dann soll er über einen link z.B. rote farbe, auf die ausgabeseite gelangen in der jeweils 1 datensatz ausgegeben wird und durch klick auf nen weiterbutton soll die nächste id die der rubrik rote farbe angehört ausgelesen werden
Ich hoff ich hab das verständlich ausgedrückt??
Format C:
ich habe das problem noch nicht ganz verstanden: du liest etwas aus der datenbank aus nachkategorien also:
select * from table where kategorie='$kategorie' richtig? und jetzt willst du immer einen aus diesen ausgeben?
machs doch so:
select * from table where kategorie='$kategorie' limit $start, 1
dann muss du start immer um eins hochsetzen vor dem neuauslesen-->am besten per datei.php?start=alter_start+1
![]()
radoo ist da schon auf der richtigen fährte.
halt nich nur einen ds ausgeben sondern auch noch die folgenden
du musst halt dann bei der ausgabe den recordset nur um eins weiterzählen und dann die aktuelle id mitübergeben.
bsp.
abfrage:
select * from frauen where id >= $aktid
dann gibts du nur den ersten und zweiten rs aus.
1. rs = $aktid
2. rs = $aktid+1 = $id2
im link aktuell kommt dann aktuell.php?id=$aktid
im weiter dann halt weiter.php?aktid=$id2
somit handelst du dich weiter, ohne nur einen gedanken an deine schlüssel zu verschwenden - wär auch nicht im sinne einer relationalen datenbank.
lf
p.s. alles meinem kranken hirn entsprungen und nicht auf richtigkeit getestet. weiters solltes du das dann auch noch in php und mysql konforme syntax bringen.
p.p.s wenns nicht passt, dann hab ich dein problem wirklich net verstanden
![]()
Doch Ihr habt das ganz wunderbar verstanden jungs. Ich fang da nur manchmal ganz kompliziert an zu denken und verrenn mich dann. Habe heut mal den ganzen Tag was anderes gemacht und werd mich morgen früh wieder an die Thematik wagen - aber mit dem weiterzählen müsste es ja dann eigentlich klappen.
Greetz aus Muc
Format C:
.
Geändert von Radoo.de (07.09.2003 um 08:39 Uhr)
hehe - der ist gut - hab ich zuerst übersehen![]()
Ne das ganze gibt ein erotikportal. Da können die mädels halt Ihre Anzeigen aufgeben und jeder kann dann gucken.
Format C:
@ radoo: ein schelm, der böses dabei denkt....
aber ist das denn nicht DER traum eines jeden sql geplagten mannes: select * from frauen
lf, der auch gerne so eine große auswahl hätte
ps: blöd wenn bei select count(*) from frauen ... null rauskommt.
![]()
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)