Passer variable dans plusieurs IF [Résolu/Fermé]

Signaler
Messages postés
15
Date d'inscription
mercredi 21 juin 2017
Statut
Membre
Dernière intervention
22 août 2017
-
Messages postés
15
Date d'inscription
mercredi 21 juin 2017
Statut
Membre
Dernière intervention
22 août 2017
-
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

Messages postés
186
Date d'inscription
mercredi 7 mai 2014
Statut
Membre
Dernière intervention
28 septembre 2017
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 64467 internautes nous ont dit merci ce mois-ci

Messages postés
15
Date d'inscription
mercredi 21 juin 2017
Statut
Membre
Dernière intervention
22 août 2017

Je viens d'essayer le code, 'ajouter un for'
et sa fonctionne !!!

Franchement merci beaucoup !
Messages postés
28879
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2020
2 594
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 64467 internautes nous ont dit merci ce mois-ci

Messages postés
15
Date d'inscription
mercredi 21 juin 2017
Statut
Membre
Dernière intervention
22 août 2017

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 ?