login  Naam:   Wachtwoord: 
Registreer je!
 Forum

random selecteren

Offline trash - 17/11/2006 15:37
Avatar van trashNieuw lid is het mogelijk om random een veld uit een tabel te selecteren?

Ik heb een database waaruit ik een random record wil halen, de lengte van deze tabel is niet constant daarom kan ik niet gewoon "select * from tabel where id = " random (0, constant getal). doen...

eerst moet ik de grootste id ophalen uit deze tabel, dan random een getal bepalen tussen 0 en die max waarde en dan die waarde opnieuw opzoeken...

is er een korte manier waarbij het allemaal in 1 sql querie kan?

4 antwoorden

Gesponsorde links
Offline Chupskie - 17/11/2006 15:45 (laatste wijziging 17/11/2006 15:47)
Avatar van Chupskie MySQL beginner Ik weet dat het zo kan:
  1. <?php
  2. $sql = mysql_query("SELECT * FROM tabel ORDER BY id DESC") or die(mysql_error());
  3. while ($arre = mysql_fetch_array($sql)) {
  4. $array[] = $arre['id']; //id
  5. }
  6. $rand = rand(0,10);
  7. echo $array[$rand];
  8. ?>


enzo:
  1. <?php
  2. SELECT * FROM tabel WHERE id ORDER BY RAND()
  3. ?>


Ik weet niet of je er iets aan hebt, maar toch... aub 

Succes verder
-Chupskie

edit: ff <?php tags toegevoegd, voor de kleurtjes  
Offline trash - 18/11/2006 17:58
Avatar van trash Nieuw lid in principe heb ik maar 1 random record nodig dus beide oplossingen zullen wel werken maar is dit niet te belastend? het zal op termijn over een tabel met 10.000 records gaan... ik denk dat 2 sql opdrachten dan iets sneller zal werken...
Offline bosgroen - 18/11/2006 19:28 (laatste wijziging 18/11/2006 19:32)
Avatar van bosgroen Gouden medaille

PHP interesse
de php-wijze zal erg belastend zijn; de sql-wijze is bijgevolg de beste keuze!
De sql, die chupskie opgaf, zal zal alle resultaten random ordenen; om minder belasting te hebben kan LIMIT 1 toevoegen soms helpen (jij wilt namelijk slechts 1 zo'n random rij).


ORDER BY RAND() combined with LIMIT is useful for selecting a random sample from a set of rows:
bron: http://dev.mysq...tions.html
Offline trash - 19/11/2006 15:33
Avatar van trash Nieuw lid that's it! perfect wat ik nodig had, ik had zelf nog niet zover gedacht! thnx
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.214s