Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 19-01-2002, 13:44
pietje63
Avatar van pietje63
pietje63 is offline
ik heb een database met
1/ een id nummer
2/ een tekst
3/ nog wat meer dingen die verder van minder belang zijn hiervoor

nu wil ik op mijn site een random tekst hiervan nemen, daarbij loop ik echter tegen enkele problemen op. Ik gebruikte de functie rand(1, 40) (omdat momenteel mijn hoogste row 40 is)

1: ik heb het idee dat ik de ene tekst meer krijg dan de andere (dat er dus niet goed een random nummer wordt getrokken)
2: als ik rows verwijder/toevoeg klopt hij niet meer, dan kan ik (als er eentje is verwijderd) een lege output krijgen, of sommige teksten worden helemaal niet gebruikt (omdat de rand maar t/m 40 gaat)

weet iemand hiervoor een betere oplossing? ik zat zelf aan een array te denken, waar dan met echo de id's in worden gezet. Maar heb nog nooit met arrays gewerkt, dus dat lukte mij niet helemaal. en dan ben ik nog steeds niet van het "niet helemaal goed random probleem" af
__________________
whatever u want, whatever u do, don't forget me :)
Met citaat reageren
Advertentie
Oud 19-01-2002, 13:52
Jon
Avatar van Jon
Jon is offline
SELECT * FROM meuk ORDER BY RAND() LIMIT 1;
__________________
Wer nicht fragt bleibt dumm.
Met citaat reageren
Oud 19-01-2002, 14:27
pietje63
Avatar van pietje63
pietje63 is offline
Citaat:
Jon schreef:
SELECT * FROM meuk ORDER BY RAND() LIMIT 1;
werkt dat zo?
maar dan zit ik nog steeds met het probleem dat het niet helemaal random is... ik heb een keer gehoord dat er ook een soort gelijke functie is als RAND maar dan beter,,


__________________
whatever u want, whatever u do, don't forget me :)
Met citaat reageren
Oud 19-01-2002, 14:51
Jon
Avatar van Jon
Jon is offline
Rand(om) is random, oftewel willekeurig is willekeurig. En bovendien scheelt het werk om mySQL te laten kiezen, in plaats van dat later met PHP te doen. Als je het per se in PHP wilt doen moet je niet vergeten de rand()-functie seed te geven, anders heb je kans dat ie telkens de zelfde willekeurige waarde pakt:

srand ((double) microtime() * 1000000);

Test het anders als je het niet vertrouwt. Maak een loopje waarbij je 10.000 keer iets selecteert en tel welke rows hij telkens pakt.

[Dit bericht is aangepast door Jon (19-01-2002).]
__________________
Wer nicht fragt bleibt dumm.
Met citaat reageren
Oud 19-01-2002, 15:22
pietje63
Avatar van pietje63
pietje63 is offline
Citaat:
Jon schreef:
Rand(om) is random, oftewel willekeurig is willekeurig. En bovendien scheelt het werk om mySQL te laten kiezen, in plaats van dat later met PHP te doen. Als je het per se in PHP wilt doen moet je niet vergeten de rand()-functie seed te geven, anders heb je kans dat ie telkens de zelfde willekeurige waarde pakt:

srand ((double) microtime() * 1000000);

Test het anders als je het niet vertrouwt. Maak een loopje waarbij je 10.000 keer iets selecteert en tel welke rows hij telkens pakt.

[Dit bericht is aangepast door Jon (19-01-2002).]
zoiets was het ja, dank je, dat seed zal het zijn
__________________
whatever u want, whatever u do, don't forget me :)
Met citaat reageren
Oud 19-01-2002, 16:31
F10®!@n
F10®!@n is offline
Citaat:
pietje63 schreef:
zoiets was het ja, dank je, dat seed zal het zijn
Maar is dus niet nodig als je mySQL het laat doen...
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware [PHP] Vraagjes: HTML strippen, datum-conversie
Tuinkabouter !!
16 27-03-2005 22:27


Alle tijden zijn GMT +1. Het is nu 08:02.