Avatar billede hagger Nybegynder
21. oktober 2009 - 18:22 Der er 5 kommentarer og
1 løsning

Tilfældigt tal (1-89) hvor tal i databasen ikke vælges igen

Jeg er igang med et bingo-system, så jeg vil selvfølgelig gerne have en kode der genererer et tilfældigt tal fra 1-89, men ikke et tal, som allerede er i databasen. Nogen der kan hjælpe, og ved hvordan man gør?
Avatar billede ksoren Nybegynder
21. oktober 2009 - 18:49 #1
Hvis du laver to tabeller: allNumbers og usedNumbers

AllNumbers indeholder alle tal i intervallet
usedNumbers indeholder udtrukne tal

select number from allNumbers where number not in (select number from usedNumbers) order by rand() limit 1;
Avatar billede hagger Nybegynder
21. oktober 2009 - 18:54 #2
Tak for svar.. Jeg prøver det lige :)
21. oktober 2009 - 18:56 #3
Eller brug den eksisterende fundtion shuffle().  Lav en array med dine tal (1 til 89 eller hvad), shuffle den, og traek saa tallene ud en for en.  Her er et eksempel:
<?
  $bingo_array = array(1,2,3,4,5,6,7,8,9,10);
  shuffle($bingo_array);
  for($i=0; $i<10; $i++)
  {
    echo $bingo_array[$i];
  }
?>
Avatar billede hagger Nybegynder
22. oktober 2009 - 20:46 #4
ksoren2, jeg har fået det til at virke.. Mange tak for hjælpen! Smid et svar hvis du vil have point! :)
24. oktober 2009 - 08:12 #5
hagger, hvis du lukker spoergsmaalet saa staar det ikke laengere som aabent i min liste af indlaeg.  Hvis ksoren2 ikke vil have points saa giv dem til dig selv.
Avatar billede hagger Nybegynder
24. oktober 2009 - 13:36 #6
Ok
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