Avatar billede snie97 Nybegynder
20. juli 2008 - 00:39 Der er 5 kommentarer og
1 løsning

Hent laveste ubrugte medlemsnummer

Jeg er ved at lave et medlemskartotek til en forening.

Til det har jeg en tabel med diverse felter (id, medlemnr, navn, adresse osv).

Når der skal oprettes et nyt medlem skal systemet selv finde et medlemsnummer, til det pågældende medlem.

Da der er en del huller i numrene (som går op til ca. 900 i øjeblikket), vil jeg have at systemet finder det lavest brugbare nummer (altså et nummer der ikke er i brug), dog skal nummeret minimum være 400.

Men hvordan kringler jeg lige den?

Nogen der kan give et hint? Databasen er mysql.
Avatar billede leif Seniormester
20. juli 2008 - 00:41 #1
Det er da utroligt som folk ikke ønsker at der er huller i ens Medlemsnumre osv., det kan vel være lige meget ?


Jeg har den holdning at er et unikt nummer (Jeg betragter et medlemsnummer som unikt) først brugt er det brugt for life.
Avatar billede snie97 Nybegynder
20. juli 2008 - 00:50 #2
Det er fordi vi har små 300 huller, og synes ikke der er nogen grund til at ende på 4-cifrede medlemsnumre endnu :)
Avatar billede coderdk Praktikant
20. juli 2008 - 01:30 #3
Så konvertér nummeret til et base-30-tal eller lignende? Så får de numre som f.eks. s2 ;P
Avatar billede coderdk Praktikant
20. juli 2008 - 02:08 #4
Ellers noget i stil med:

SELECT m.id + 1 AS ubrugt FROM medlemmer AS m LEFT OUTER JOIN medlemmer AS mr ON m.id + 1 = mr.id WHERE mr.id IS NULL LIMIT 1
Avatar billede snie97 Nybegynder
20. juli 2008 - 11:06 #5
Tak, det var lige hvad jeg manglede :)

Har selv tweaket den til perfektion... Lægger du et svar, så får du point!
Avatar billede coderdk Praktikant
20. juli 2008 - 13:36 #6
heheh ok :) men ellers er jeg enig med leif - brugte er brugte - så kan man omgå det lidt ved at bruge andet end base-10-tal til at repræsentere ID'en...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester