login  Naam:   Wachtwoord: 
Registreer je!
 Forum

rand

Offline SomaQan - 07/05/2009 00:30
Avatar van SomaQanPHP beginner Hallo Sima leden.

Ik heb een probleem.

Ik heb namelijk 11 query's waarbij ik een rand getal mee wil geven, maar moet ik nou 11 keer de rand functie herhalen voor elke query?

Zo doe ik het nu maar als ik telkens alles moet herhalen...

  1. $aanvallen1 = rand(55,74);
  2. $aanvallen2 = rand(55,74);
  3.  
  4. $verdededigen1 = rand(55,74);
  5. $verdededigen2 = rand(55,74);
  6.  
  7. mysql_query("INSERT INTO spelers (voornaam,achternaam,positie,aanvallen,verdedigen,eigenaar_lid_id)))
  8. VALUES ('".$input[$voornaam[1]]."','".$test[$achternaam[1]]."', 'Keeper','0','".$verdededigen."','".$gebruikersnaam."')") or die(mysql_error());
  9.  
  10. mysql_query("INSERT INTO spelers (voornaam,achternaam,positie,aanvallen,verdedigen,eigenaar_lid_id)))
  11. VALUES ('".$input[$voornaam[2]]."','".$test[$achternaam[2]]."', 'Keeper','0','".$verdededigen."','".$gebruikersnaam."')") or die(mysql_error());





7 antwoorden

Gesponsorde links
Offline Abbas - 07/05/2009 00:42
Avatar van Abbas Gouden medaille

Crew .NET
Een array voor 11 random getallen aanmaken en dan loopen door de array en telkens op de volgende plaats de nieuwe random steken? 
Offline vinTage - 07/05/2009 00:47
Avatar van vinTage Nieuw lid titjes zn oplossing komt al dichterbij dan je eigen voorstel, want ik neem aan dat je niet 2 ventjes op dezelfde plaats wilt hebben (wat bij 11 keer random best zou kunnen voorkomen)

Offline Wim - 07/05/2009 00:55
Avatar van Wim Crew algemeen Je kan ook de RAND() functie van MySQL zelf gebruiken.

dev.mysql.com schreef:
To obtain a random integer R in the range i <= R < j, use the expression FLOOR(i + RAND() * (j – i)). For example, to obtain a random integer in the range the range 7 <= R < 12, you could use the following statement:

SELECT FLOOR(7 + (RAND() * 5));


  1. FLOOR(55 + (RAND() * 19))
Offline vinTage - 07/05/2009 00:57 (laatste wijziging 07/05/2009 00:57)
Avatar van vinTage Nieuw lid kans op 11 spitsen.. 
Offline SomaQan - 07/05/2009 15:45
Avatar van SomaQan PHP beginner Ik kom er niet uit.

Is er geen while achtige manier voor een rand functie dat je maar 1x de rand functie gebruikt maar dat er verschillende getallen uitkomen ?
Offline nielsvdwal - 07/05/2009 16:11
Avatar van nielsvdwal PHP gevorderde
  1. <?php
  2. for (i=1;i<= 11; i++) {
  3. $aanvallen1 = rand(55,74);
  4. $aanvallen2 = rand(55,74);
  5.  
  6. $verdededigen1 = rand(55,74);
  7. $verdededigen2 = rand(55,74);
  8.  
  9. mysql_query("INSERT INTO spelers (voornaam,achternaam,positie,aanvallen,verdedigen,eigenaar_lid_id)))
  10. VALUES ('".$input[$voornaam[$i]]."','".$test[$achternaam[$i]]."', 'Keeper','0','".$verdededigen."','".$gebruikersnaam."')") or die(mysql_error());
  11.  
  12. mysql_query("INSERT INTO spelers (voornaam,achternaam,positie,aanvallen,verdedigen,eigenaar_lid_id)))
  13. VALUES ('".$input[$voornaam[$i]]."','".$test[$achternaam[$i]]."', 'Keeper','0','".$verdededigen."','".$gebruikersnaam."')") or die(mysql_error());
  14. }


of snap ik jou hele vraag nou gewoon niet??
Offline SomaQan - 07/05/2009 18:31
Avatar van SomaQan PHP beginner Bedankt @Nielsvdwal je hebt me in de richting geholpen met je for loop.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.372s