22. september 2005 - 15:10Der er
5 kommentarer og 1 løsning
Vælg næste id (uden mellemrum) el. start forfra
Jeg har nogle unikke id'er i en database, som tilgås af et php-script.
Jeg kender altid et af id'erne, og skal så have det næste i rækken returneret. Hvis der ikke er et næste id, så skal jeg have det første id returneret.
eks. 2, 5, 7, 9, 15
Hvis jeg får oplyst 7, skal jeg have 9 fra databasen. Kender jeg 9 skal jeg have 15. Kender jeg 15, så skal jeg have laveste tal, altså 2 returneret.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Showsource >> tilgå er bare at lade php hente id'er vha. sql. Som det er nu bruger jeg en MySQL "SELECT id FROM table WHERE status=1 ORDER BY RAND() LIMIT 0,1", som bare ikke virker særlig random. Ud af 40-50 entries kommer de samme 4 frem ca. 50% af gangene... Derfor vil jeg udvælge på en ny måde, så jeg er sikker på, at alle id'er vælges ca. lige meget.
Arne >> Super! "SELECT MIN(id) FROM tabel WHERE id > x" og hvis den ikke returnerer et resultat, så samme SELECT uden WHERE for at starte forfra.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.