cs_tonyo
Messages postés2Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention12 janvier 2003
-
12 janv. 2003 à 21:49
cs_tonyo
Messages postés2Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention12 janvier 2003
-
12 janv. 2003 à 21:50
Voila mon code qui doit me permettre de comparer des nombres entrés par l'utilisateur à la page précédente et ceux contenus dans un fichier .txt. l'ordre des nombres n'intervient pas, c'est exactement le principe du loto. Mon pb vient du fait que le compte se fait mal pour le dernier nombre entré par l'utilisateur (celui qui se nomme nb[5]). voila le code :
while (!feof($fp)){ // On parcours le fichier
$bons = 0;
$comp = 'pas de bonus';
$ligne = fgets($fp,4096); // On se déplace d'une ligne
$gr = explode( "|",$ligne); // on prend toutes les valeurs entre les |
for ($j=0;$j<6;$j++){
for ($k=0;$k<6;$k++){
if ($gr[$j]==$nb[$k]){ // si un des nombres correspond à un du fichier
$bons = $bons+1; // on incrémente $bons
}
if ($gr[$j]==$bonus){
$comp = 'plus le bonus'; // si un des nombres correspond au bonus
}
}
}
echo "$gr[0], $gr[1], $gr[2], $gr[3], $gr[4], $gr[5], soit $bons bons, $comp
";
}
fclose($fp);
echo "$nb[0], $nb[1], $nb[2], $nb[3], $nb[4], $nb[5], $bonus";
?>
Voici à quoi ressemble le fichier reponses.txt
4|42|5|7|8|29
5|78|20|3|45|7
75|8|68|42|4|9
Si l'utilisateur a rentré un numéro bonus qui correspond au dernier numéro d'une ligne du fichier reponses il ne renvoie pas la mention "plus le bonus", de meme si un de ses numéros correspond avec le dernier d'une ligne, il n'est pas compté.
cs_tonyo
Messages postés2Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention12 janvier 2003 12 janv. 2003 à 21:50
-------------------------------
Réponse au message :
-------------------------------
> Voila mon code qui doit me permettre de comparer des nombres entrés par l'utilisateur à la page précédente et ceux contenus dans un fichier .txt. l'ordre des nombres n'intervient pas, c'est exactement le principe du loto. Mon pb vient du fait que le compte se fait mal pour le dernier nombre entré par l'utilisateur (celui qui se nomme nb[5]). voila le code :
>
> <?
> $fichier = 'reponses.txt';
> $fp = fopen($fichier,'r');
>
> while (!feof($fp)){ // On parcours le fichier
> $bons = 0;
> $comp = 'pas de bonus';
>
> $ligne = fgets($fp,4096); // On se déplace d'une ligne
> $gr = explode( "|",$ligne); // on prend toutes les valeurs entre les |
> for ($j=0;$j<6;$j++){
> for ($k=0;$k<6;$k++){
> if ($gr[$j]==$nb[$k]){ // si un des nombres correspond à un du fichier
> $bons = $bons+1; // on incrémente $bons
> }
> if ($gr[$j]==$bonus){
> $comp = 'plus le bonus'; // si un des nombres correspond au bonus
> }
> }
> }
> echo "$gr[0], $gr[1], $gr[2], $gr[3], $gr[4], $gr[5], soit $bons bons, $comp
";
> }
> fclose($fp);
> echo "$nb[0], $nb[1], $nb[2], $nb[3], $nb[4], $nb[5], $bonus";
> ?>
>
>
> Voici à quoi ressemble le fichier reponses.txt
>
> 4|42|5|7|8|29
> 5|78|20|3|45|7
> 75|8|68|42|4|9
>
>
>
> Si l'utilisateur a rentré un numéro bonus qui correspond au dernier numéro d'une ligne du fichier reponses il ne renvoie pas la mention "plus le bonus", de meme si un de ses numéros correspond avec le dernier d'une ligne, il n'est pas compté.
>
> Merci d'avance de m'éclairer,
> tonyo