Problema IF con 6 variabili

  • Creatore Discussione Creatore Discussione Guarnie
  • Data di inizio Data di inizio

Guarnie

Nuovo Utente
22 Apr 2014
13
0
0
allora ragazzi ho questo problema che mi sta distruggento la testa perchè non mi da il risultato voluto, allora io ho 3 variabili da controllare, il loro risultato può essere calcolato o direttamente immesso, quindi da 3 diventano 6, ecco un esempio: conto1 e conto2 sono RIS1 , conto3 e conto4 sono RIS2, conto5 e conto6 sono RIS3.
nel mio if metto i conti > 0 perchè uno dei due sarà 0 e non servirà a nulla.

PHP:
if ( conto1>0 OR conto2>0 AND conto3>0 OR conto4>0 AND conto5>0 OR conto6>0)
{
if(conto1>conto3 OR conto1>conto4 OR conto2>conto3 OR conto2>conto4 AND conto5>conto1 OR conto5>conto2 OR conto6>conto1 OR conto6>conto2)
{
echo"il ris aumenta in tutti gli anni";
}

}


if ( conto1>0 OR conto2>0 AND conto3>0 OR conto4>0 AND conto5>0 OR conto6>0)
{
if(conto1<conto3 OR conto2<conto3 OR conto1<conto4 OR conto2<conto4 AND conto5<conto1 OR conto6<conto1 OR conto5<conto2 OR conto6<conto2)
{
echo"il ris diminuisce in tutti gli anni";
}

}

dovrebbe scrivere in un caso che il RIS aumenta in tutti gli anni e nell'altro no, ma invece scrive che aumenta e diminuisce insieme, cioè stampa tutti e due gli "echo" per capirci.
boh io ragazzi non so più cosa fare... help me.

Grazie per la gentile attenzione.
 
Ultima modifica di un moderatore:
ciao
prova così (al massimo non funzia), scusa ma uso i simboli || per OR e && per AND, ma è una mia abitudine
PHP:
<?php
if ( conto1>0 || conto2>0 && conto3>0 || conto4>0 && conto5>0 || conto6>0){
	if(conto1>conto3 || conto1>conto4 || conto2>conto3 || conto2>conto4 && conto5>conto1 || conto5>conto2 || conto6>conto1 || conto6>conto2){
		echo"il ris aumenta in tutti gli anni";
	}elseif(conto1<conto3 || conto2<conto3 && conto1<conto4 || conto2<conto4 && conto5<conto1 || conto6<conto1 || conto5<conto2 || conto6<conto2){
		echo"il ris diminuisce in tutti gli anni";
	}
}
?>
poi una cosa verifica come devono essere le priorità del confronto, esempio se hai
conto1>0 OR conto2>0 AND conto3>0 OR conto4>0 AND conto5>0 OR conto6>0
per prima ti esegue la verifica and poi l'or se vuoi che le priorità siano differenti devi usare le parentesi, es.
(conto1>0 OR conto2>0) AND (conto3>0 OR conto4>0) AND (conto5>0 OR conto6>0)
analogo per l'if interno (simile alla priorità della somma con la moltiplicazione)

inoltre indenta il codice e usa gli appositi BCCCODE (ultime tre iconcine nella barra di formattazione del post)
 

Discussioni simili