[PHP] Ottimizzazione query

Max61

Utente Attivo
2 Mar 2014
740
4
18
Salve a tutti gli utenti del forum sono nuovamente a chiederVi aiuto.
Vorrei ottimizzare la query allegata, visto che la devo ripetere per molte variabili, ma non saprei come fare...
PHP:
//FINE PRIMO CONTROLLO
if ($maxpunticoppia1 >= 3500 AND $maxpunticoppia2 <= 3500 AND $maxpunticoppia3 <= 3500 AND $maxpunticoppia4 <= 3500 AND $maxpunticoppia5 <= 3500
AND $maxpunticoppia1 > $maxpunticoppia2 AND $maxpunticoppia1 > $maxpunticoppia3 AND $maxpunticoppia1 > $maxpunticoppia4 AND $maxpunticoppia1 > $maxpunticoppia5){
    ?><b><span style='color:green; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
    echo "<br><H3>Vince la coppia ", $coppia1, " con ";
echo $maxpunticoppia1; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia2, " si ferma a ";
echo $maxpunticoppia2; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia3, " si ferma a ";
echo $maxpunticoppia3; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia4, " si ferma a ";
echo $maxpunticoppia4; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia5, " si ferma a ";
echo $maxpunticoppia5; // <- qui hai il risultato che ti aspetti
echo " punti.";


} elseif ($maxpunticoppia1 >= 3500 AND $maxpunticoppia2 >= 3500 AND $maxpunticoppia3 <= 3500 AND $maxpunticoppia4 <= 3500 AND $maxpunticoppia5 <= 3500
AND $maxpunticoppia1 > $maxpunticoppia2 AND $maxpunticoppia1 > $maxpunticoppia3 AND $maxpunticoppia1 > $maxpunticoppia4 AND $maxpunticoppia1 > $maxpunticoppia5){
    ?><b><span style='color:green; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
    echo "<br><H3>Vince la coppia ", $coppia1, " con ";
echo $maxpunticoppia1; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia2, " si ferma a ";
echo $maxpunticoppia2; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia3, " si ferma a ";
echo $maxpunticoppia3; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia4, " si ferma a ";
echo $maxpunticoppia4; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia5, " si ferma a ";
echo $maxpunticoppia5; // <- qui hai il risultato che ti aspetti
echo " punti.";


} elseif ($maxpunticoppia1 >= 3500 AND $maxpunticoppia2 >= 3500 AND $maxpunticoppia3 >= 3500 AND $maxpunticoppia4 <= 3500 AND $maxpunticoppia5 <= 3500
AND $maxpunticoppia1 > $maxpunticoppia2 AND $maxpunticoppia1 > $maxpunticoppia3 AND $maxpunticoppia1 > $maxpunticoppia4 AND $maxpunticoppia1 > $maxpunticoppia5){
    ?><b><span style='color:green; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
    echo "<br><H3>Vince la coppia ", $coppia1, " con ";
echo $maxpunticoppia1; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia2, " si ferma a ";
echo $maxpunticoppia2; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia3, " si ferma a ";
echo $maxpunticoppia3; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia4, " si ferma a ";
echo $maxpunticoppia4; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia5, " si ferma a ";
echo $maxpunticoppia5; // <- qui hai il risultato che ti aspetti
echo " punti.";


} elseif ($maxpunticoppia1 >= 3500 AND $maxpunticoppia2 >= 3500 AND $maxpunticoppia3 >= 3500 AND $maxpunticoppia4 >= 3500 AND $maxpunticoppia5 <= 3500
AND $maxpunticoppia1 > $maxpunticoppia2 AND $maxpunticoppia1 > $maxpunticoppia3 AND $maxpunticoppia1 > $maxpunticoppia4 AND $maxpunticoppia1 > $maxpunticoppia5){
    ?><b><span style='color:green; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
    echo "<br><H3>Vince la coppia ", $coppia1, " con ";
echo $maxpunticoppia1; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia2, " si ferma a ";
echo $maxpunticoppia2; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia3, " si ferma a ";
echo $maxpunticoppia3; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia4, " si ferma a ";
echo $maxpunticoppia4; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia5, " si ferma a ";
echo $maxpunticoppia5; // <- qui hai il risultato che ti aspetti
echo " punti.";


} elseif ($maxpunticoppia1 >= 3500 AND $maxpunticoppia2 >= 3500 AND $maxpunticoppia3 >= 3500 AND $maxpunticoppia4 >= 3500 AND $maxpunticoppia5 >= 3500
AND $maxpunticoppia1 > $maxpunticoppia2 AND $maxpunticoppia1 > $maxpunticoppia3 AND $maxpunticoppia1 > $maxpunticoppia4 AND $maxpunticoppia1 > $maxpunticoppia5){
    ?><b><span style='color:green; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
    echo "<br><H3>Vince la coppia ", $coppia1, " con ";
echo $maxpunticoppia1; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia2, " si ferma a ";
echo $maxpunticoppia2; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia3, " si ferma a ";
echo $maxpunticoppia3; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia4, " si ferma a ";
echo $maxpunticoppia4; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia5, " si ferma a ";
echo $maxpunticoppia5; // <- qui hai il risultato che ti aspetti
echo " punti.";


} elseif ($maxpunticoppia1 >= 3500 AND $maxpunticoppia2 >= 3500 AND $maxpunticoppia3 >= 3500 AND $maxpunticoppia4 >= 3500 AND $maxpunticoppia5 >= 3500
AND $maxpunticoppia1 > $maxpunticoppia2 AND $maxpunticoppia1 > $maxpunticoppia3 AND $maxpunticoppia1 > $maxpunticoppia4 AND $maxpunticoppia1 = $maxpunticoppia5){
 ?><b><span style='color:purple; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
    echo "<br><H3>", $coppia1, " e ", $coppia2, " hanno totalizzato ";
echo $maxpunticoppia1; // <- qui hai il risultato che ti aspetti
echo " punti ciascuno. <br>La partita &egrave; pari!!!";
//FINE PRIMO CONTROLLO
Grazie per l'aiuto
Max61
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
@Max61 la query dove si trova?

Eliminando la sfilza di IF, crea un piccolo helper con questo dentro:
PHP:
function test_Coppie($data){
   $how_to_return='UNDEF';
   foreach ($data as $k=>$v){
      $entry=true;
      for($i=0;$i<count($v) && $entry;$i++){
         switch ($v[$i][1]){
            case '>=':($v[$i][0]<$v[$i][2])?$entry=false:null;
               break;
            case '<=':($v[$i][0]>$v[$i][2])?$entry=false:null;
               break;
            case '==':($v[$i][0]!=$v[$i][2])?$entry=false:null;
               break;
            case '>':($v[$i][0]<$v[$i][2])?$entry=false:null;
               break;
            case '<':($v[$i][0]>$v[$i][2])?$entry=false:null;
               break;
         }
      }
      if($entry){
         $how_to_return=$k;
      }
   }
   return $how_to_return;
}

E lo richiami in questo modo:
PHP:
$maxpunticoppia1=3600;
$maxpunticoppia2=150;
$maxpunticoppia3=150;
$maxpunticoppia4=150;
$maxpunticoppia5=150;
$maxpunticoppia6=150;
$coppia1='UNO DUE';
$coppia2='DUE TRE';
$coppia3='QUATTRO CINQUE';
$coppia4='CINQUE SEI';
$coppia5='SEI SETTE';
//DATA è l'array da creare
$data=
   [
      'Iterazione1'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'<=',3500],
         [$maxpunticoppia3,'<=',3500],
         [$maxpunticoppia4,'<=',3500],
         [$maxpunticoppia5,'<=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione2'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'<=',3500],
         [$maxpunticoppia5,'<=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione3'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'>=',3500],
         [$maxpunticoppia5,'<=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione4'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'>=',3500],
         [$maxpunticoppia5,'>=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione5'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'>=',3500],
         [$maxpunticoppia5,'>=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'==',$maxpunticoppia5],
      ],
   ];
echo test_Coppie($data);
Test_Coppie torna la chiave corrispondente....
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ciao Macus_adi, la query sta nella pagina di inserimento dati nel db, una volta inseriti i dati in tabella li recupero e vedo immediatamente il punteggio delle varie coppie, indicando chi vince ed il punteggio.
Questa codice da richiamare lo metto all'interno della pagina di insert al posto di tutte le if che avevo fatto oppure dentro una pagina a se?
Grazie
Max61
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Il codice che ti ho messo dovrebbe essere un HELPER quindi un file a parte che viene richiamato dal file delle IF.... In questo modo se devi utilizzare spesso i confronti lo richiami da ogni punto dell'applicazione...
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ciao Macus_adi, ho provato a fare come hai detto ho messo la prima parte di codice in una pagina esterna chiamata calcolo5.php e la richiamo come hai detto, però mi da questo errore...dove sbaglio?
Fatal error: Call to undefined function test_Coppie()
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ciao Macus_adi, nelle varie prove che ho fatto dopo che ti ho risposto, ho fatto quello che mi hai suggerito adesso, ma questo errore 'UNDEF', perchè non arrivano i nomi delle coppie credo...ma non so come farle avere
PHP:
$query3 = "SELECT coppia1, coppia2, coppia3, coppia4, coppia5,
(SUM(basecoppia1) + SUM(punticoppia1)) AS max_punti_coppia1, 
(SUM(basecoppia2) + SUM(punticoppia2)) AS max_punti_coppia2, 
(SUM(basecoppia3) + SUM(punticoppia3)) AS max_punti_coppia3, 
(SUM(basecoppia4) + SUM(punticoppia4)) AS max_punti_coppia4, 
(SUM(basecoppia5) + SUM(punticoppia5)) AS max_punti_coppia5 
FROM tblpartite5";
$result3 = mysql_query($query3);
if($result3) {
$row = mysql_fetch_array($result3);
}

$maxpunticoppia1=$row['max_punti_coppia1'];
$maxpunticoppia2=$row['max_punti_coppia2'];
$maxpunticoppia3=$row['max_punti_coppia3'];
$maxpunticoppia4=$row['max_punti_coppia4'];
$maxpunticoppia5=$row['max_punti_coppia5'];

//DATA è l'array da creare
$data=
   [
      'Iterazione1'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'<=',3500],
         [$maxpunticoppia3,'<=',3500],
         [$maxpunticoppia4,'<=',3500],
         [$maxpunticoppia5,'<=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione2'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'<=',3500],
         [$maxpunticoppia5,'<=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione3'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'>=',3500],
         [$maxpunticoppia5,'<=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione4'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'>=',3500],
         [$maxpunticoppia5,'>=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione5'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'>=',3500],
         [$maxpunticoppia5,'>=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'==',$maxpunticoppia5],
      ],
   ];
print_r(test_Coppie($data));
allego codice, sicuramente sbaglio qualcosa.
Grazie
Max61
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Ciao @Max61 ,
se la funzione torna 'UNDEF' (valore segnato di default, non è errore) significa che nessun array di condizioni (per intenderci "Iterazione1","Iterazione2"....) è completamente soddisfatta, quindi sei fuori dal range dei vincoli imposti.
$maxpunticoppia1=$row['max_punti_coppia1'];
$maxpunticoppia2=$row['max_punti_coppia2'];
$maxpunticoppia3=$row['max_punti_coppia3'];
$maxpunticoppia4=$row['max_punti_coppia4'];
$maxpunticoppia5=$row['max_punti_coppia5'];

Se maxpunticoppia1 <3500 qualsiasi condizione viene ignorata, quindi la funzione torna 'UNDEF'...

Che valori hai nei vari maxpunticoppia'X'????
Questo scenario avrà come risposta UNDEF:
PHP:
$maxpunticoppia1=3500;
$maxpunticoppia2=3501;
$maxpunticoppia3=3502;
$maxpunticoppia4=3503;
$maxpunticoppia5=3500;
In quanto hai settato che maxcoppia1 deve essere sempre maggiore di maxcoppia2-3-4 ....
Fammi sapere!
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ciao e grazie ancora per la disponibilità, cerco di spiegarmi meglio:
tutti i punteggi ($maxpunticoppia1,$maxpunticoppia2,$maxpunticoppia3, $maxpunticoppia4,$maxpunticoppia5), possono avere qualunque punteggio, quindi può essere maggiore una qualsiasi $maxpunticoppia... rispetto alle altre, possono avere addiritturaa lo stesso punteggio.
Ti ha tratto inganno il mio codice che ho postato, dove si evidenziava la vittoria o pareggio della $maxpunticoppia1, colpa mia che non l'ho spiegato bene, ma era la prima parte di una serie di if che avrei dovuto applicare per tutte le $maxpunticoppia... e quando ho visto quanto veniva lungo e con possibilità di errore , ho pensato che ci fosse un modo più semplice e ho chiesto aiuto al Forum.
Grazie e scusa ancora per non essermi spiegato bene
Max61
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Si ma allora basta effettuare le permutazioni dei punteggi all'interno dell'array data...
Se posti le possibili iterazioni le parametrizziamo in modo del tutto automatico... Basta avere la logica di confronto!
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
I possibili punteggi sono tantissimi, adesso non sono al PC ma con il telefono e non mi è facile scrivere tutte le possili variabili. Appena posso li mando
Grazie mille e buona domenica
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Buongiorno Macus_adi, ho cercato di mettere tutti i possibili punteggi
PHP:
$maxpunticoppia1>=3500
$maxpunticoppia2>=3500
$maxpunticoppia3>=3500
$maxpunticoppia4>=3500
$maxpunticoppia5>=3500

$maxpunticoppia1>=3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1>=3500
$maxpunticoppia2>=3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1>=3500
$maxpunticoppia2>=3500
$maxpunticoppia3>=3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1>=3500
$maxpunticoppia2>=3500
$maxpunticoppia3>=3500
$maxpunticoppia4>=3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2>=3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2>=3500
$maxpunticoppia3>=3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2>=3500
$maxpunticoppia3>=3500
$maxpunticoppia4>=3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2>=3500
$maxpunticoppia3>=3500
$maxpunticoppia4>=3500
$maxpunticoppia5>=3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3>=3500
$maxpunticoppia4>=3500
$maxpunticoppia5>=3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4>=3500
$maxpunticoppia5>=3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5>=3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2>=3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2>=3500
$maxpunticoppia3>=3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2>=3500
$maxpunticoppia3>=3500
$maxpunticoppia4>=3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2>=3500
$maxpunticoppia3>=3500
$maxpunticoppia4>=3500
$maxpunticoppia5>=3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3>=3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3>=3500
$maxpunticoppia4>=3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3>=3500
$maxpunticoppia4>=3500
$maxpunticoppia5>=3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4>=3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5>=3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1>=3500
$maxpunticoppia2=3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1>=3500
$maxpunticoppia2=3500
$maxpunticoppia3=3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1>=3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2>=3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3>=3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4>=3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4>=3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia2<3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5>=3500

PAREGGI
$maxpunticoppia1=3500
$maxpunticoppia2=3500
$maxpunticoppia3<3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1=3500
$maxpunticoppia2=3500
$maxpunticoppia3=3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1=3500
$maxpunticoppia2=3500
$maxpunticoppia3=3500
$maxpunticoppia4=3500
$maxpunticoppia5<3500


$maxpunticoppia1=3500
$maxpunticoppia2=3500
$maxpunticoppia3=3500
$maxpunticoppia4=3500
$maxpunticoppia5=3500

$maxpunticoppia1=3500
$maxpunticoppia2<3500
$maxpunticoppia3=3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1=3500
$maxpunticoppia2<3500
$maxpunticoppia3=3500
$maxpunticoppia4=3500
$maxpunticoppia5<3500

$maxpunticoppia1=3500
$maxpunticoppia2<3500
$maxpunticoppia3=3500
$maxpunticoppia4<3500
$maxpunticoppia5=3500

$maxpunticoppia1=3500
$maxpunticoppia2<3500
$maxpunticoppia3=3500
$maxpunticoppia4=3500
$maxpunticoppia5=3500

$maxpunticoppia1<3500
$maxpunticoppia=3500
$maxpunticoppia3=3500
$maxpunticoppia4<3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia=3500
$maxpunticoppia3=3500
$maxpunticoppia4=3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia=3500
$maxpunticoppia3=3500
$maxpunticoppia4=3500
$maxpunticoppia5=3500

$maxpunticoppia1<3500
$maxpunticoppia<3500
$maxpunticoppia3=3500
$maxpunticoppia4=3500
$maxpunticoppia5<3500

$maxpunticoppia1<3500
$maxpunticoppia<3500
$maxpunticoppia3=3500
$maxpunticoppia4=3500
$maxpunticoppia5=3500

$maxpunticoppia1<3500
$maxpunticoppia<3500
$maxpunticoppia3<3500
$maxpunticoppia4=3500
$maxpunticoppia5=3500

spero di non aver dimenticato qualche parametro
Buona giornata
 
Ultima modifica di un moderatore:

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Inserisci nella variabile "$data" tutti i casi possibili e vedrai che funziona utilizzando lo stesso codice;
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ok, però prima di aggiungere tutti i vari punteggi devo capire come mostrare i vari messaggi che indicano la coppia vincente e in caso di pareggio le coppie che hanno gli stessi punti come facevo nel primo messaggio che ho postato.
Ho provato ma senza le if mostra tutti i messaggi possibili:
Vince la coppia Coppia1-coppia1 con 4506 punti.
La coppia Coppia2-coppia2 si ferma a 4504 punti.
La coppia Coppia3 si ferma a 4500 punti.
La coppia Coppia4 si ferma a 4500 punti.
La coppia Coppia5 si ferma a 4506 punti.

Coppia1-coppia1 e Coppia5 hanno totalizzato 4506 punti ciascuno.
La partita è pari!!!
in questo caso dovrebbe mostrare soltanto il messaggio
"
Coppia1-coppia1 e Coppia5 hanno totalizzato 4506 punti ciascuno.
La partita è pari!!!"
allego quello che ho fatto, sicuramente sbagliato.
p.s. in questo caso mostrava il messaggio iterazione5, e quindi ho messo i messaggi nell'iterazione corrispondente
PHP:
$data=
   [
      'Iterazione1'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'<=',3500],
         [$maxpunticoppia3,'<=',3500],
         [$maxpunticoppia4,'<=',3500],
         [$maxpunticoppia5,'<=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione2'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'<=',3500],
         [$maxpunticoppia5,'<=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione3'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'>=',3500],
         [$maxpunticoppia5,'<=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione4'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'>=',3500],
         [$maxpunticoppia5,'>=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'>',$maxpunticoppia5],
      ],
      'Iterazione5'=>[
         [$maxpunticoppia1,'>=',3500],
         [$maxpunticoppia2,'>=',3500],
         [$maxpunticoppia3,'>=',3500],
         [$maxpunticoppia4,'>=',3500],
         [$maxpunticoppia5,'>=',3500],
         [$maxpunticoppia1,'>',$maxpunticoppia2],
         [$maxpunticoppia1,'>',$maxpunticoppia3],
         [$maxpunticoppia1,'>',$maxpunticoppia4],
         [$maxpunticoppia1,'==',$maxpunticoppia5],
          ],
   ];
         ?><b><span style='color:green; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
    echo "<br><H3>Vince la coppia ", $coppia1, " con ";
echo $maxpunticoppia1; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia2, " si ferma a ";
echo $maxpunticoppia2; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia3, " si ferma a ";
echo $maxpunticoppia3; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia4, " si ferma a ";
echo $maxpunticoppia4; // <- qui hai il risultato che ti aspetti
echo " punti.";
?><b><span style='color:red; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
echo "<br><H4>La coppia ", $coppia5, " si ferma a ";
echo $maxpunticoppia5; // <- qui hai il risultato che ti aspetti
echo " punti.";
 
     ?><b><span style='color:purple; font-size: 16pt'>
         <span style='color:white height:1; width:1; background-color:red'>
         <?php
    echo "<br><H3>", $coppia1, " e ", $coppia5, " hanno totalizzato ";
echo $maxpunticoppia1; // <- qui hai il risultato che ti aspetti
echo " punti ciascuno. <br>La partita &egrave; pari!!!";
//print_r(test_Coppie($data));
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
T [Retribuito] - Cerco professionista per ottimizzazione di DB php/mysql Offerte e Richieste di Lavoro e/o Collaborazione 0
D [Jquery - php] Ottimizzazione script jQuery 1
S ottimizzazione meta tags e calo visite con php SEO e Posizionamento 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0

Discussioni simili