Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 5%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 392 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

dsich

Routinier

Dabei seit: 22.11.2003

Beiträge: 417

 

1 Zum Seitenanfang

Freitag, 24. September 2004, 14:16

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 :P

Danke

dsich
 

teddy

Routinier

Dabei seit: 18.11.2003

Beiträge: 312

 

2 Zum Seitenanfang

Samstag, 25. September 2004, 17:48

wenn du einfach die letzte ID haben willst kannst du das per:

Quellcode

1
select max(ID) from table


machen!
Dieses Schreiben wurde maschinell erstellt und bedarf keiner Unterschrift.
 

dsich

Routinier

Dabei seit: 22.11.2003

Beiträge: 417

 

3 Zum Seitenanfang

Samstag, 25. September 2004, 18:54

Danke, aber das will ich nicht.

Ich will einfach nur die nächste und möglichst auch die vorherige ID einer ID, welche gerade zum gewählten Datensatz gehört.


dsich
 

pchero

unregistriert

4 Zum Seitenanfang

Samstag, 25. September 2004, 19:30

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


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)

 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

5 Zum Seitenanfang

Samstag, 25. September 2004, 19:38

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

~!__/
..o.o

This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
 

pchero

unregistriert

6 Zum Seitenanfang

Samstag, 25. September 2004, 19:43

Zitat

der nächste Datensatzen ist dann aber nicht 4 sondern 4

ähm was soll das bedeuten oder meintest du das es 5
sein sollte

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »pchero« (25. September 2004, 19:45)

 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

7 Zum Seitenanfang

Sonntag, 26. September 2004, 12:04

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
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

dsich

Routinier

Dabei seit: 22.11.2003

Beiträge: 417

 

8 Zum Seitenanfang

Sonntag, 26. September 2004, 13:20

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 :rolleyes:

dsich
 

johnny26

Foren As

Dabei seit: 22.12.2002

Beiträge: 85

 

9 Zum Seitenanfang

Dienstag, 28. September 2004, 17:20

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

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »johnny26« (28. September 2004, 17:20)

 

dsich

Routinier

Dabei seit: 22.11.2003

Beiträge: 417

 

10 Zum Seitenanfang

Dienstag, 28. September 2004, 21:42

Heya ... der Denkanstoss ist mir lieber :))

Ich will ja dabei was lernen :P

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
 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

11 Zum Seitenanfang

Dienstag, 28. September 2004, 22:26

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)

 

johnny26

Foren As

Dabei seit: 22.12.2002

Beiträge: 85

 

12 Zum Seitenanfang

Mittwoch, 29. September 2004, 11:35

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...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »johnny26« (29. September 2004, 13:25)

 

apple

Moderator

Dabei seit: 29.01.2003

Beiträge: 928

 

13 Zum Seitenanfang

Donnerstag, 30. September 2004, 00:59

SELECT id FROM table WHERE id > $id ORDER BY id LIMIT 1

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

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »apple« (30. September 2004, 01:00)

 

johnny26

Foren As

Dabei seit: 22.12.2002

Beiträge: 85

 

14 Zum Seitenanfang

Donnerstag, 30. September 2004, 01:07

haut.
 

dsich

Routinier

Dabei seit: 22.11.2003

Beiträge: 417

 

15 Zum Seitenanfang

Donnerstag, 30. September 2004, 08:15

Zitat

SELECT id FROM table WHERE id > $id ORDER BY id LIMIT 1


:D

Danke eh ... mir falln die Schuppen von den Augen .... 8o

Dachte ich mir doch das es eine einfache Lösung gibt ;)

Danke an alle


dsich
 

apple

Moderator

Dabei seit: 29.01.2003

Beiträge: 928

 

16 Zum Seitenanfang

Donnerstag, 30. September 2004, 15:13

hehe, meist liege das ferne doch so nah.

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