Page 1 sur 1

Fonction rand() et boucle while

Posté : 21 mars 2007, 02:29
par beaverinc
Voilà mon probleme, je veux que ma variable (i) décrémentate avec la fonction rand(). Vous allez mieux comprendre avec mon code (qui ne marche pas).
<?
$i = 25;
while ($i >= 0) {
$r = rand(2,5);
echo "$i-$r";
echo "<br>";
}
?>
Ce code remplace toujours la valeur (i) par 25 donc il est impossible de se rendre à 0. Voilà, se que je cherche en faite, je me demmande comment faire un compteur qui prend toujours la variable après l'oppération.

Merci d'avance.

Posté : 21 mars 2007, 02:53
par guilt92
Bonjour,

le probleme est que tu affiches $i-$r mais tu ne donnes pas a $i la nouvelle valeur....

Essaye plutot dans ce style :
<?php
$i = 25; 
while ($i >= 0) { 
$r = rand(2,5); 
$i=$i-$r; 
echo $i."<br/>"; 
} 
?> 
Ainsi tu donnes a $i la nouvelle valeur puis tu l'affiches ensuite...

Posté : 21 mars 2007, 06:50
par ghalaad
Et même (puisque le but semble être d'afficher les opérations) :
<?php
$i = 25; 
while ($i >= 0) { 
	$r = rand(2,5); 
	echo $i."-".$r."=";
	$i -= $r;
	echo $i."<br/>"; 
} 
?>
(pour le -=, voir ceci)

Posté : 22 mars 2007, 06:24
par beaverinc
Merci, ça donne se que je voulais. Je vais en profiter pour poser une autre petite question, comment faitons si je voudrais les valeurs n'aparaisse tous d'un coup. Qu'il faut cliquer sur un bouton valide pour faire apparaitre l'autre valeur.

exemple :
25 ( je clique sur un bouton )
22 ( je clique sur un bouton )
19 ( je clique sur un bouton )
...

Posté : 22 mars 2007, 08:27
par Ultim4T0m
Dans ce cas, tourne toi vers le Javascript, avec l'évènement onClick, tu devrais pouvoir faire ça.

Posté : 22 mars 2007, 09:19
par Ryle
Tu peux aussi à chaque appel du script ne générer qu'une valeur que tu enregistres dans une session et lister toutes les valeurs stockées lors de l'affichage :)