OVH Cloud OVH Cloud

Tirage au sort....

4 réponses
Avatar
listes
Salut,

Je me suis lancé dans un défi plus grand (pourtant ca doit pas être très
compliqué...

Je vous explique mon objectif

J'aimerais trouver le moyen pour faire ceci...

L'objectif : un tirage au sort de numéro associé à un nom.

En fait, chaque année les adultes tire au sort un nom, ce nom sera la
personne a faire un cadeau.

Cette année j'aimerai que ce soit une page qui me fasse le tirage.

donc j'ai pris le problème comme suit

un adulte = un numéro. l'ordinateur tire un numéro compris entre 0 et 10
et affiche le numéro et le nom associé à ce numéro.

J'avais pensé faire un truc du genre

<?php
define(david, 0);
define(Claude, 1);
define(Marie, 2);
define(Anne, 3);
define(Sophie,4);
define(Alexi,5);
define(Fabien, 6);
define(MonNombre, rand(0, 10));

echo "Nombre aléatoire ";
echo MonNombre;
if ($MonNombre = val(Claude)):
echo"ce nombre est attribué à Claude";
end if;
?>

Suis-je sur la bonne voie... ?

4 réponses

Avatar
Olivier Miakinen

J'avais pensé faire un truc du genre

<?php
define(david, 0);
define(Claude, 1);
define(Marie, 2);
define(Anne, 3);
define(Sophie,4);
define(Alexi,5);
define(Fabien, 6);
define(MonNombre, rand(0, 10));

echo "Nombre aléatoire ";
echo MonNombre;
if ($MonNombre = val(Claude)):
echo"ce nombre est attribué à Claude";
end if;
?>

Suis-je sur la bonne voie... ?


Personnellement je ferais plutôt :

$noms = array();
$noms[] = "David";
$noms[] = "Claude";
$noms[] = "Marie";
$noms[] = "Anne";
$noms[] = "Sophie";
$noms[] = "Alexis";
$noms[] = "Fabien";
$MonNombre = rand(0, count($noms)-1);

echo "Nombre aléatoire ";
echo $MonNombre;
echo "ce nombre est attribué à " . $noms[$MonNombre];


Les premières lignes peuvent être remplacées par :

$noms = array("David", "Claude", "Marie", "Anne",
"Sophie", "Alexis", "Fabien");


--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)

Avatar
Christophe Meresse

<?php
define(david, 0);
[...]

define(Fabien, 6);
define(MonNombre, rand(0, 10));

echo "Nombre aléatoire ";
echo MonNombre;
if ($MonNombre = val(Claude)):
echo"ce nombre est attribué à Claude";
end if;
?>

Suis-je sur la bonne voie... ?


Je n'ai pas testé ton code, il marche probablement mais il me semble
bien compliqué pour pas grand chose. Pourquoi utilises-tu des
constantes (define) ?

// Code non testé
$adultes = array("David", "Claude", "Marie", "Anne", "Sophie", "Alexi",
"Fabien");
$monNombre = rand(0,count($adultes)-1);
echo "ce nombre est attribué à ".$adultes[$monNombre];

Bon courage
Christophe

Avatar
Olivier Miakinen

define(MonNombre, rand(0, 10));
echo MonNombre;
if ($MonNombre = val(Claude)):


Je n'ai pas testé ton code, il marche probablement


Même pas : il mélange des MonNombre avec $MonNombre !

mais il me semble bien compliqué pour pas grand chose.


Oui. D'ailleurs je ne recopie pas le reste de ta réponse, mais nous
sommes bien d'accord sur la méthode. ;-)

--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)


Avatar
Fred

Personnellement je ferais plutôt :

$noms = array();
$noms[] = "David";
$noms[] = "Claude";
$noms[] = "Marie";



Il y a aussi la fonction shuffle qui mélange les éléments d'un tableau :
shuffle($nom);
echo "Le gagnant est :".$nom[0];

@+

Fred