nächste ID ermitteln ?
Hi @ll
mal wieder ne kleine Frage
)
Ich hab eine Datenbank in der Zeilen mittels einer ID ausgelesen werden.
Beim Eintragen in diese Datenbank wird dieser Wert ID mittels Autoincement angelegt, also immer erhöht. Jetzt lösche ich aber zwischendrin Werte, und so entstehen Lücken, die IDs sind nicht mehr fortlaufend.
Nehmen wir mal an ich habe einen Datenbankeintrag mit der ID 10 !
Jetzt will ich ermitteln welches der nöchste Wert ist !
Das könnte 11 sein, aber eventuell auch 18 !?!
Wie krieg ich diesen nächsten ID Wert raus?
Bitte gebt mir mal nen Denkanstoss, vielleicht ist es ganz einfach und ich komm nur nicht drauf
Danke
dsich
mal wieder ne kleine Frage
)Ich hab eine Datenbank in der Zeilen mittels einer ID ausgelesen werden.
Beim Eintragen in diese Datenbank wird dieser Wert ID mittels Autoincement angelegt, also immer erhöht. Jetzt lösche ich aber zwischendrin Werte, und so entstehen Lücken, die IDs sind nicht mehr fortlaufend.
Nehmen wir mal an ich habe einen Datenbankeintrag mit der ID 10 !
Jetzt will ich ermitteln welches der nöchste Wert ist !
Das könnte 11 sein, aber eventuell auch 18 !?!
Wie krieg ich diesen nächsten ID Wert raus?
Bitte gebt mir mal nen Denkanstoss, vielleicht ist es ganz einfach und ich komm nur nicht drauf

Danke
dsich
pchero
unregistriert
also wenn es auch php sein darf dann würde ich es mit sort by id desc oder wie es auch immer heißt und das lädst du dann in eine php variable und machst einfach
ich werde dir nochmal ein ganzes skrript machen wenn du es in php haben willst
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 |
<?
mysql_connect("adresse",
"username","passwort") or die
("Keine Verbindung moeglich");
mysql_select_db("datenbankname") or die
("Die Datenbank existiert nicht");
$abfrage = "SELECT id FROM tabellenname";
$id = mysql_query($abfrage);
echo $id--;
echo $id;
echo $id++;
|
ich werde dir nochmal ein ganzes skrript machen wenn du es in php haben willst
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »pchero« (25. September 2004, 19:42)
das funzt nicht zuverlässig:
nehmen wir folgenden fall an:
Wir haben eine Tabelle mit 3 Datensätzen, die die Ids 1-3 haben. Nun wird Datensatz 3 gelöscht. der nächste Datensatzen ist dann aber nicht 4 sondern 4
nehmen wir folgenden fall an:
Wir haben eine Tabelle mit 3 Datensätzen, die die Ids 1-3 haben. Nun wird Datensatz 3 gelöscht. der nächste Datensatzen ist dann aber nicht 4 sondern 4
~!__/
..o.o
This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
eine zuverlässige methode die nächste id herauszufinden gibt es meines wissens nach nicht.
aber du kannst dir ja das hier mal anschauen:
http://at.php.net/manual/de/function.mysql-insert-id.php
jperl
aber du kannst dir ja das hier mal anschauen:
http://at.php.net/manual/de/function.mysql-insert-id.php
jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
Vielen Dank, aber ich glaub das hilft mir nicht wirklich weiter 
Ich hab da noch eine Idee:
Könnte man nicht alle ids in ein array packen (while schleife) und dann innerhalb das arrays den momentanen wert suchen. Jetzt ist logischerweise der vorherige arraywert die vorherige id und der nachfolgende arraywert die folgende id?
Müsste doch theoretisch funktionieren
dsich

Ich hab da noch eine Idee:
Könnte man nicht alle ids in ein array packen (while schleife) und dann innerhalb das arrays den momentanen wert suchen. Jetzt ist logischerweise der vorherige arraywert die vorherige id und der nachfolgende arraywert die folgende id?
Müsste doch theoretisch funktionieren

dsich
Hi
ich habe gerade vor kurzem eine Lösung für dieses Problem programmiert, ist auch ziemlich simpel...
nur sehe ich, dass der letzte Post schon zwei Tage auf dem Buckel hat. Meine Frage nun: Benötigst du die Hilfe noch? und wenn ja, soll ich dir bloss einen Denkanstoss geben, wie du es bei Post 1 gesagt hast, oder willst du einfach den code?
mfG
ich habe gerade vor kurzem eine Lösung für dieses Problem programmiert, ist auch ziemlich simpel...
nur sehe ich, dass der letzte Post schon zwei Tage auf dem Buckel hat. Meine Frage nun: Benötigst du die Hilfe noch? und wenn ja, soll ich dir bloss einen Denkanstoss geben, wie du es bei Post 1 gesagt hast, oder willst du einfach den code?
mfG
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »johnny26« (28. September 2004, 17:20)
Heya ... der Denkanstoss ist mir lieber
)
Ich will ja dabei was lernen
Was hältst Du von meinem Denkanstoss ?
Danke
dsich
)Ich will ja dabei was lernen

Was hältst Du von meinem Denkanstoss ?
Zitat
Könnte man nicht alle ids in ein array packen (while schleife) und dann innerhalb das arrays den momentanen wert suchen. Jetzt ist logischerweise der vorherige arraywert die vorherige id und der nachfolgende arraywert die folgende id?
Danke
dsich
Zitat
Original von Skittles
das funzt nicht zuverlässig:
nehmen wir folgenden fall an:
Wir haben eine Tabelle mit 3 Datensätzen, die die Ids 1-3 haben. Nun wird Datensatz 3 gelöscht. der nächste Datensatzen ist dann aber nicht 4 sondern 5
da hast du wieder das problem (korrigiert)
zwar nur in seltenen fällen, wenn die letzte id gelöscht wird, aber es existiert
~!__/
..o.o
This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Skittles« (28. September 2004, 22:28)
Sehr guter Denkanstoss...dank deiner Gedankengänge konnte ich mein Script sogar noch ein wenig Severfreundlicher gestalten
Also, zuerst machst du einen SQL-Query, der alle Datensätze aus deiner Tabelle abfragt. Das Ergebnis lässt du dann durch eine while Schleife laufen, wobei du bei jedem Durchlauf der While-Schleife die aktuelle ID in einen Array packst, den du zuvor schon erstellt hast.
Der Rest ist eigentlich ein Kinderspiel, im speziellen benötigst du nur noch diese funktion: array_search
viel Glück...

Also, zuerst machst du einen SQL-Query, der alle Datensätze aus deiner Tabelle abfragt. Das Ergebnis lässt du dann durch eine while Schleife laufen, wobei du bei jedem Durchlauf der While-Schleife die aktuelle ID in einen Array packst, den du zuvor schon erstellt hast.
Der Rest ist eigentlich ein Kinderspiel, im speziellen benötigst du nur noch diese funktion: array_search
viel Glück...
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »johnny26« (29. September 2004, 13:25)
SELECT id FROM table WHERE id > $id ORDER BY id LIMIT 1
sollte doch auch hinhaun oder?
mfg apple
sollte doch auch hinhaun oder?
mfg apple
Zur Unterhaltung einer Party trägt niemand so viel bei wie diejenigen, die gar nicht da sind.
Audrey Hepburn, Schauspielerin
Don't use thx-sry-plz
Audrey Hepburn, Schauspielerin
Don't use thx-sry-plz
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »apple« (30. September 2004, 01:00)
hehe, meist liege das ferne doch so nah.
mfg apple
mfg apple
Zur Unterhaltung einer Party trägt niemand so viel bei wie diejenigen, die gar nicht da sind.
Audrey Hepburn, Schauspielerin
Don't use thx-sry-plz
Audrey Hepburn, Schauspielerin
Don't use thx-sry-plz





