Winnaar kiezen loterij

Gestart doorMarv17 reacties67 weergaven

18 berichten · pagina 1 van 2

Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Hallo,

Ik heb een loterij script gemaakt, en nu wil ik de winnaar kiezen (random)

Mijn tabel loterij ziet er zo uit:

ID UID ALOTEN

ALOTEN is dus het aantal loten wat 1 user heeft.

Hoe kan ik nu het makkelijkst hier een, eerlijke random winnaar uitkiezen?

Mvg,
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Elk item uit db halen en bij in array stoppen. Random nummer tussen 0 en (lengte arrray), neem dan het item uit de array met die nummer en dat is je winnaar.
0
Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Antonn schreef:
Elk item uit db halen en bij in array stoppen. Random nummer tussen 0 en (lengte arrray), neem dan het item uit de array met die nummer en dat is je winnaar.
dan is het toch niet eerlijk, want iemand met 10 loten heeft dan dezelfde kans als iemand met 1 lot?
0
Berichten
2.609
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Marvinguich schreef:
Eerdere citaten tonen
Antonn schreef:
Elk item uit db halen en bij in array stoppen. Random nummer tussen 0 en (lengte arrray), neem dan het item uit de array met die nummer en dat is je winnaar.
dan is het toch niet eerlijk, want iemand met 10 loten heeft dan dezelfde kans als iemand met 1 lot?
Nee, er is dan toch meer kans met iemand met 10 loten.

Stel: Jij koopt 3 loten, ik 7.

[php random]

ik win, omdat ik meer loten+kans heb dan jou.
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Marvinguich schreef:
Eerdere citaten tonen
Antonn schreef:
Elk item uit db halen, loopje voor aantal loten en per lotje een bij in array stoppen. Random nummer tussen 0 en (lengte arrray), neem dan het item uit de array met die nummer en dat is je winnaar.
dan is het toch niet eerlijk, want iemand met 10 loten heeft dan dezelfde kans als iemand met 1 lot?
Ohja, vergeten.

toevoeging op 12 september 2012, 20:30:23:
Nickjexx schreef:
Eerdere citaten tonen
Marvinguich schreef:
Eerdere citaten tonen
Antonn schreef:
Elk item uit db halen en bij in array stoppen. Random nummer tussen 0 en (lengte arrray), neem dan het item uit de array met die nummer en dat is je winnaar.
dan is het toch niet eerlijk, want iemand met 10 loten heeft dan dezelfde kans als iemand met 1 lot?
Nee, er is dan toch meer kans met iemand met 10 loten.

Stel: Jij koopt 3 loten, ik 7.

[php random]

ik win, omdat ik meer loten+kans heb dan jou.
Hij heeft niet per lot een row, anders kon hij dit beter met SQL doen dmv ORDER BY RAND()
0
Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Antonn schreef:
Elk item uit db halen, loopje voor aantal loten en per lotje een bij in array stoppen. Random nummer tussen 0 en (lengte arrray), neem dan het item uit de array met die nummer en dat is je winnaar.
dan is het toch niet eerlijk, want iemand met 10 loten heeft dan dezelfde kans als iemand met 1 lot?[/quote]

Wie kan dit voor me maken? Genoeg punten beschikbaar!
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Marvinguich schreef:
Eerdere citaten tonen
Antonn schreef:
Elk item uit db halen, loopje voor aantal loten en per lotje een bij in array stoppen. Random nummer tussen 0 en (lengte arrray), neem dan het item uit de array met die nummer en dat is je winnaar.
dan is het toch niet eerlijk, want iemand met 10 loten heeft dan dezelfde kans als iemand met 1 lot?
Wie kan dit voor me maken? Genoeg punten beschikbaar![/quote]

Nou ik zeg dat je een loopje moet doen per persoo met het aantal tickets van die persoon als lengte van de loop. In de loop voeg je een arrayelement toe met het userid er in. Dan neem je random element uit array en dat is je winnaar en het is dus wel degelijk eerlijk.
0
Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Antonn schreef:
Eerdere citaten tonen
Marvinguich schreef:
Eerdere citaten tonen
Antonn schreef:
Elk item uit db halen, loopje voor aantal loten en per lotje een bij in array stoppen. Random nummer tussen 0 en (lengte arrray), neem dan het item uit de array met die nummer en dat is je winnaar.
dan is het toch niet eerlijk, want iemand met 10 loten heeft dan dezelfde kans als iemand met 1 lot?
Wie kan dit voor me maken? Genoeg punten beschikbaar!
Nou ik zeg dat je een loopje moet doen per persoo met het aantal tickets van die persoon als lengte van de loop. In de loop voeg je een arrayelement toe met het userid er in. Dan neem je random element uit array en dat is je winnaar en het is dus wel degelijk eerlijk.[/quote]

Ik snap al helemaal een loop en een array niet, dus als iemand dat wil doen, graag! smile
0
Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php
$aQuery[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT UID, ALOTEN FROM tabelnaam"[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$aFetch[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$aQuery[/COLOR][COLOR= #007700])){[/COLOR]
    [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR]
    [URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]<[/COLOR] [COLOR= #0000BB]$aFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]ALOTEN[/COLOR][COLOR= #007700]]){[/COLOR]
        [COLOR= #0000BB]$arr[/COLOR][COLOR= #007700][] =[/COLOR] [COLOR= #0000BB]$aFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]UID[/COLOR][COLOR= #007700]];[/COLOR]
        [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++;
    }
}[/COLOR]
[URL="http://www.php.net/shuffle"]shuffle[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$arr[/COLOR][COLOR= #007700]);[/COLOR]
Winnaar[COLOR= #007700]:[/COLOR] [COLOR= #0000BB]$arr[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]];[/COLOR]
?>
0
Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Eleky schreef:
[COLOR= #0000BB]<?php
$aQuery[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT UID, ALOTEN FROM tabelnaam"[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$aFetch[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$aQuery[/COLOR][COLOR= #007700])){[/COLOR]
    [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR]
    [URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]<[/COLOR] [COLOR= #0000BB]$aFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]ALOTEN[/COLOR][COLOR= #007700]]){[/COLOR]
        [COLOR= #0000BB]$arr[/COLOR][COLOR= #007700][] =[/COLOR] [COLOR= #0000BB]$aFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]UID[/COLOR][COLOR= #007700]];[/COLOR]
        [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++;
    }
}[/COLOR]
[URL="http://www.php.net/shuffle"]shuffle[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$arr[/COLOR][COLOR= #007700]);[/COLOR]
Winnaar[COLOR= #007700]:[/COLOR] [COLOR= #0000BB]$arr[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]];[/COLOR]
?>
Thanx, alleen krijg: Parse error: syntax error, unexpected while (T_WHILE)

hierzo: while($i < $aFetch[ALOTEN]){

Mvg,

; vergeten bij $i = 0 smile
// Pagina blijft wit redface
0
Berichten
6.144
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Kijk eens naar regel 11.
0
Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Jponsen schreef:
Kijk eens naar regel 11.
Yeah hij werkt biggrin
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dat is dus t idee wat ik zei, maar dan de efficiëntere while ipv for. Slim gezien dat.

Blij dat t werkt biggrinpompom
0
Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Antonn schreef:
Dat is dus t idee wat ik zei, maar dan de efficiëntere while ipv for. Slim gezien dat.

Blij dat t werkt biggrinpompom
Haha dankjewel biggrin
// Ik heb punten op float staan in de database, maar als ik 2,40 wil toevoegen, voegt ie alleen 2 erbij op, de 0,40 niet.

Als ik er een . tussenzet, werkt het wel. maar ik reken iets om met php, en die zet er een , tussen.

Hoe los ik dit op?
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
[func]str_replace[/func]

Leer eens googlen man...
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren