Passer variable dans plusieurs IF

Résolu
James007b4 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
James007b4 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un petit problème je n'arrive pas passer une variable dans un autre IF.

  $T1 = 0;
  $T2 = 0;
  $T3 = 0;
$T2R = 0;
$T3R = 0;

if($compteur == 7)
{
  $T1 = 72;
  echo 'T1 = ',$T1;
}

if($compteur == 13)
{
  $T2 = 128;
  echo 'T2 = ',$T2;
$T2R = $T2 - $T1;
}

if($compteur == 17)
{
   $T3 = 151;
   echo 'T3 = ',$T3;  
$T3R = $T3 - T2;
}




EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45

La variable $T1 dans le second IF est égal à 0;
La variable $T2 dans le troisième IF est égal à 0;

J'ai essayé de passer les variables dans un JS, puis ensuite faire un $_GET sauf que je suis dans un boucle ( toute la page ) donc la page se rafraîchis tous le temps :(

Si quelqu'un a une idée, je suis preneur..
A voir également:

2 réponses

Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   24
 
Bonjour,

Je pense qu'il y a de l'embrouille entre les T2 et les T2R, il faut nommer les variables de manière claire pour ne pas avoir ce genre de souci.

<?php

$T1 = 0;
$T2 = 0;
$T3 = 0;
$T2R = 0;
$T3R = 0;

// On ne sait pas comment est ta boucle et comment tu l'utilises, mais je suppose un for de ce style ?
for ($compteur=0;$compteur<=20;$compteur++)
{
	if($compteur == 7){
	  $T1 = 72;
	  echo "T1 = ".$T1."<br/>";
	}

	if($compteur == 13){
	  $T2 = 128;
	  echo "T2 = ".$T2."<br/>";
	  $T2R = $T2 - $T1;
	}

	if($compteur == 17){
	   $T3 = 151;
	   echo "T3 = ".$T3."<br/>";  
	   $T3R = $T3 - $T2; // Ici il manquait un $ avant T2.
	}
}

echo $T2R."<br/>"; // 56 -> soit 128 - 72 donc $T2 - $T1
echo $T3R; // 23 -> soit 151 - 128 soit $T3 - $T2, tout est bon
?>
1
James007b4 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Je viens d'essayer le code, 'ajouter un for'
et sa fonctionne !!!

Franchement merci beaucoup !
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Plusieurs soucis :

1 - Tu as oublié un $ dur l'une de tes variables
2 - Pour que la variable prenne la valeur... faut qu'elle entre dans le IF ...
hors... si compteur = 'quelquechose' elle entre dans ce IF ... mais pas dans les autres....

3 - Pour faire un if multiple sur une même variable... préfère utiliser un SWITCH..
<?php
$T1 = 0;
$T2 = 0;
$T3 = 0;
$T2R = 0;
$T3R = 0;

switch($compteur){
  
  case :7
   $T1 = 72;
   break;
  case :13
   $T2 = 128;
   $T2R = $T2 - $T1; // T1 = 0
   break;
  case :17
   $T3 = 151;
   $T3R = $T3 - $T2; //T2 = 0
   break;
}

echo 'T1 = ',$T1;
echo 'T2 = ',$T2;
echo 'T3 = ',$T3; 


NB : Tu initialises à 0 Les variables à chaque fois que tu lances ce code....
Donc tu as mal placé l'initialisation de tes variables...
Elle doit se trouver en dehors de ta boucle (compteur) que tu ne nous as pas montré....

1
James007b4 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Je vais suivre ton conseil, je vais le switch à la place du if.

Merci beaucoup en tout cas !

Je mets le sujet en résolu ?
0