Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 13-02-2002, 18:27
Verwijderd
Hoe bouqw je een goede randomizer met php dat je kan gebruiken om random een regel uit te lezen in mySQL

Ik heb er een maar die is brak

Kan iemand me helpen door een voorbeeld te geven, het idee van opbouw te vertellen of een randomizer te posten..
Met citaat reageren
Advertentie
Oud 13-02-2002, 18:45
Chimera
Avatar van Chimera
Chimera is offline
Je telt eerst het aantal records (count()), dan doe je een select * met een limit zodat je er een record uitpikt.

Maar nogmaals: Voor jouw site kun je beter geen random gebruiken, maar een ratio. Verder zou ik eerst aan het probleem dat mensen meerdere keren op zichzelf kunnen stemmen proberen op te lossen.
Met citaat reageren
Oud 13-02-2002, 18:45
Unexplained
Avatar van Unexplained
Unexplained is offline
http://www.php.net/manual/en/function.mt-rand.php

Ergo, RTFM.
__________________
Risico's: als je nooit iets nieuws probeert, mis je veel enorme teleurstellingen
Met citaat reageren
Oud 13-02-2002, 18:59
Chimera
Avatar van Chimera
Chimera is offline
Hij bedoelt: Hoe selecteer ik een random row uit een tabel. Neem aan dattie zelf wel in staat is de random functie in PHP te vinden.
Met citaat reageren
Oud 13-02-2002, 19:06
Verwijderd
Citaat:
Chimera schreef:
Hij bedoelt: Hoe selecteer ik een random row uit een tabel. Neem aan dattie zelf wel in staat is de random functie in PHP te vinden.
Met citaat reageren
Oud 13-02-2002, 19:07
Verwijderd
Citaat:
Chimera schreef:
Je telt eerst het aantal records (count()), dan doe je een select * met een limit zodat je er een record uitpikt.

Maar nogmaals: Voor jouw site kun je beter geen random gebruiken, maar een ratio. Verder zou ik eerst aan het probleem dat mensen meerdere keren op zichzelf kunnen stemmen proberen op te lossen.

ben ik ook mee bezig
Met citaat reageren
Oud 13-02-2002, 19:26
Doc
Avatar van Doc
Doc is offline
In SQL heb je ook een RAND() commando...da's volgens mij vele malen eenvoudiger...dan al die loop functies
__________________
Ik ontken met kracht dat ik erkenning geef aan mensen die onkennen te erkennen onkennend miskend te zijn...:p
Met citaat reageren
Oud 13-02-2002, 19:50
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
Doc schreef:
In SQL heb je ook een RAND() commando...da's volgens mij vele malen eenvoudiger...dan al die loop functies
Wie heeft het over loop-functies?
Met citaat reageren
Oud 13-02-2002, 21:35
pietje63
Avatar van pietje63
pietje63 is offline
je kunt ook dit gebruiken:

select rand() from $tabel limit = 1
(zoiets)
__________________
whatever u want, whatever u do, don't forget me :)
Met citaat reageren
Oud 13-02-2002, 21:54
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
pietje63 schreef:
je kunt ook dit gebruiken:

select rand() from $tabel limit = 1
(zoiets)
Je bedoelt dus SELECT * FROM tabel WHERE id=RAND() LIMIT 1.

Dit werkt niet, omdat je dan niet weet hoeveel ids er in de tabel zitten, en bovendien kunnen er gaten inzitten. Dit werkt beter.

Eerst:

SELECT COUNT(id) AS count FROM tabel;

Met die count doe je 't volgende:
$num = rand(1,$count);

SELECT * FROM tabel LIMIT $num, 1;

$num is een random offset, en je hebt er maar 1 nodig. LMD dus.
Met citaat reageren
Oud 13-02-2002, 22:23
Verwijderd
chimera, die jij nou geeft..
is dat een goed bruikbare dan?
Met citaat reageren
Oud 13-02-2002, 22:32
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
McLaren schreef:
chimera, die jij nou geeft..
is dat een goed bruikbare dan?
Ja, anders had ik 'em niet gepost he
Met citaat reageren
Oud 13-02-2002, 22:37
Verwijderd
Citaat:
Chimera schreef:
Ja, anders had ik 'em niet gepost he

ok, vroeg me af of je post alleen tegen pet was bedoelt..
maar ok, zal die eens proberen...

Met citaat reageren
Oud 13-02-2002, 22:51
Verwijderd
Citaat:
Chimera schreef:
Ja, anders had ik 'em niet gepost he

Hij werkt [das al een begin ]

alleen of ie het goed doetw ete ik niet

http://hot-or-not.tk
Met citaat reageren
Oud 14-02-2002, 12:14
pietje63
Avatar van pietje63
pietje63 is offline
ok,even teruggezocht hoe ik het gedaan had
Code:
$result=mysql_query("select * ".
    "from $tabel ".
    "order by rand() limit 1");
gebruik ik voor www.afslagbrussel.tk om op de openingspagina elke keer een andere foto te zetten
__________________
whatever u want, whatever u do, don't forget me :)
Met citaat reageren
Oud 14-02-2002, 12:15
Chimera
Avatar van Chimera
Chimera is offline
Order by rand()? rand() levert een integer, en achter "order by" hoort een columnname te staan. Dat werkt dus niet, in ieder geval niet zoals jij hebt bedoelt hebt
Met citaat reageren
Oud 14-02-2002, 12:26
Chimera
Avatar van Chimera
Chimera is offline
Damn, het werkt wel. Vaag
Met citaat reageren
Oud 14-02-2002, 13:19
pietje63
Avatar van pietje63
pietje63 is offline
Citaat:
Chimera schreef:
Damn, het werkt wel. Vaag

dat bedoel ik
volgens mij is dit een speciale mysql (dus niet php) functie

ik had de code ook een keer op dit forum gekregen, weet niet meer van wie...


volgens mij werkt het zo:
order bij rand() ==> hij zet alles in willekeurige volgorde
limit 1 ==> hij pakt alleen de bovenste record

__________________
whatever u want, whatever u do, don't forget me :)
Met citaat reageren
Oud 14-02-2002, 13:45
Jon
Avatar van Jon
Jon is offline
Citaat:
pietje63 schreef:
ik had de code ook een keer op dit forum gekregen, weet niet meer van wie...
Dat was ondergetekende

Citaat:
volgens mij werkt het zo:
order bij rand() ==> hij zet alles in willekeurige volgorde
limit 1 ==> hij pakt alleen de bovenste record
Exact.
__________________
Wer nicht fragt bleibt dumm.
Met citaat reageren
Oud 14-02-2002, 13:55
pietje63
Avatar van pietje63
pietje63 is offline
Citaat:
Jon schreef:
Exact.
o, ja nu zie ik het
het het topic http://forum.scholieren.com/Forum12/HTML/007209.html even teruggezocht, misschien heb je er iets aan

__________________
whatever u want, whatever u do, don't forget me :)
Met citaat reageren
Oud 14-02-2002, 14:04
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
pietje63 schreef:

volgens mij werkt het zo:
order bij rand() ==> hij zet alles in willekeurige volgorde
limit 1 ==> hij pakt alleen de bovenste record
Ik snap ook wel dat dat een MYSQL functie is, hij staat ook in de query. Kennelijk is ORDER BY RAND() een speciaal geval, want normaliter moet daar een kolomnaam staan.
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


Alle tijden zijn GMT +1. Het is nu 12:31.