Passer variable dans plusieurs IF

Résolu/Fermé
James007b4 Messages postés 15 Date d'inscription mercredi 21 juin 2017 Statut Membre Dernière intervention 22 août 2017 - Modifié le 21 juin 2017 à 11:06
James007b4 Messages postés 15 Date d'inscription mercredi 21 juin 2017 Statut Membre Dernière intervention 22 août 2017 - 21 juin 2017 à 11:33
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..

2 réponses

Yuh12 Messages postés 184 Date d'inscription mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 24
Modifié le 21 juin 2017 à 11:15
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 mercredi 21 juin 2017 Statut Membre Dernière intervention 22 août 2017
Modifié le 21 juin 2017 à 11:32
Je viens d'essayer le code, 'ajouter un for'
et sa fonctionne !!!

Franchement merci beaucoup !
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
21 juin 2017 à 11:12
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 mercredi 21 juin 2017 Statut Membre Dernière intervention 22 août 2017
21 juin 2017 à 11:33
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