2016-05-25 1 views
-1

quand quelqu'un entrer des détails sur ma page pour le concours je veux une personne va gagner avec 1:12 ratio J'utilise le code rand et son ne va pas avec elle montre 500 entrées et seulement 14 gagnantsSélectionnez aléatoirement pour le concours de 12 à 1 ratio php

I m en utilisant ce code

$rand = mt_rand(1, 12);

$rand = mt_rand(1, 400); if($rand=='4'){ mysql_query("UPDATE entrée set gagner = 'yes' WHERE ip='$ip' AND email = '$_SESSION[email]'"); @include'win.php'; } else { mysql_query("UPDATE entrée set gagner = 'no' WHERE ip='$ip' AND email = '$_SESSION[email]'"); @include'lose.php'; }1

+0

Veuillez inclure le reste du code pertinent dans votre message. –

+0

Pouvez-vous mieux expliquer? alors les chances de gagner votre concours sont de 1 sur 12? donc 500/12 signifie qu'il devrait y avoir ~ 41/42 gagnants quand il y a 500 entrées? – izk

Répondre

0

mt_rand est aléatoire, de sorte que vous pouvez exécuter ce 1000 fois et ne pas avoir un partage égal pour chaque valeur.

Si vous voulez exactement 1:12 ratio, je pense que vous pouvez stocker dans une base de données les participants et pour chaque douzaine, exécuter mt_rand et envoyer un courriel au gagnant.

0

Si vous voulez le faire « sur les progrès », vous devez contrôler l'écart après chaque participation (si vous voulez vraiment avoir 10 gagnants après 120 essais)

Une façon pourrait être de diminuer le rapport max valeur pour chaque «concours rejoindre» sans gagnant.

Ainsi, le 1er joueur: rapport 1-12 2ème joueur: rapport 1-11 joueur 3th: rapport 1-10 ... 12e joueur: rapport 1-1

Ainsi vous aurez une gagnant au moins 12 joueurs chacun. Après que chaque joueur gagne le prix, vous devez ajuster l'écart en augmentant le ratio.

+0

Chaque personne a une chance différente de gagner, je ne pense pas que ce soit ce qu'il veut. – Limetics