problème de condition

problème de condition - PHP - Programmation

Marsh Posté le 12-02-2013 à 20:23:20    

Bonjour à tous,
je réalisé tous mes scripts par php/mysql et html pour la mise en forme.
J'ai crée un formulaire  pour une inscription de tournoi de tennis de table.
Chaque joueurs peuvent s'inscrive à plusieurs tableau si son classement le permet.  
je réalise plein de vérification et tous cela fonctionne.
 
j'ai crée une partie administration pour valider, modifier et supprimer les nouveaux inscrits.
Je peut désinscrire un joueur ayant étant validé.
j'affiche le tableau final pour les joueurs voir le nombre inscrit et si on n'a traité leur demande et je l'affiche aussi via le format en utilisant la librairie fpdf.
Je récupère la liste avec tous les joueurs avec les tableaux choisi par les joueurs.  
J'ai crée un requête SQL pour trier chaque tableau.
c'est tous ok  
Maintenant je souhaite générer les poules de 3 personnes.  
J'ai crée un script qui génère les poules.  
 
exemple j'ai un tableau de 9 joueurs , je génère ça me sors bien les 3 poules.  
 
poules1: le joueur 1 avec le joueur 6 et joueur 9  
poules2: le joueur 2 avec le joueur 5 et joueur 8  
poules3: le joueur 3 avec le joueur 4 et joueur 7  
 
j'ai géré aussi si le tableau possède un tableau 8 joueurs  
ça donnera une poule de 2 joueurs et 2 poules de 3 joueurs.  
exemple:
poules1 le joueur 1 avec le joueur 8  
poules2 le joueur 2 avec le joueur 5 et joueur 7  
poules3 le joueur 3 avec le joueur 4 et joueur 6  
 
Et le cas si on n'a un tableau de 10 joueurs  ou le nombre total/3 donne un chiffre 0.333etc  
ça veut dire que l'on n'aura 2 poules de 2 joueurs.
exemple:
ça va générer 2 poules de 2 joueurs et 2 poules de 3 joueurs.  
 
poules1: le joueur 1 avec le joueur 10  
poules2: le joueur 2 avec le joueur 9  
poules3: le joueur 3 avec le joueur 5 et joueur 8  
poules4: le joueur 4 avec le joueur 6 et joueur 7  
 
c'est toujours tous ok  
 
Mais enfaite je dois rajouter une condition et c'est la le problème ce corse.  
2 joueurs du même club n'ont pas le droit de jouer dans la même poules.  
j'ai crée des conditions mais ça marche pas toujours.  
et je ne vois pas comment faire la je suis perdu.  
j'ai pas assez esprit logique je pense .  
 
je reprend exemple de dessus.  
poules1 le joueur 1 avec le joueur 6 et joueur 9  
poules2 le joueur 2 avec le joueur 5 et joueur 8  
poules3 le joueur 3 avec le joueur 4 et joueur 7  
 
car si le joueur 1 joue dans le club1  
et le joueur6 joue dans le club1  
 
il faudrait que le joueur5 jouant dans le club2 prenne ça place du joueur 6.  
poules1 le joueur 1 avec le joueur 5 et joueur 9  
poules2 le joueur 2 avec le joueur 6 et joueur 8  
poules3 le joueur 3 avec le joueur 4 et joueur 7  
 
Mon problème il faudrait une condition qui marche tous le temps car j'ai réussit mais ça marche pas si  
par exemple le joueur 3 jouant dans le club 3 et joueur 4 jouant dans le club 3  
il faudrait que le joueur 5 prenne la place du joueur 4.  
comme ceci.  
 
poules1 le joueur 1 avec le joueur 6 et joueur 9  
poules2 le joueur 2 avec le joueur 4 et joueur 8  
poules3 le joueur 3 avec le joueur 5 et joueur 7  
 
voilà un bout de code que j'essaye de mettre en place.
 
si je reprend toujours mon tableau de 9 joueurs
 
//échantillon du code d'avant,  
ses variables sont dans un While  avec un compteur $s qui incrémente à chaque passage donc de 1 à 9;
 
echo $licence[$s] ;
  echo $nom[$s]  ;
 echo $prenom[$s]  ;
  echo $points[$s];  
  echo $verif3=$numerosclub[$s] ;
 
// j'affiche mes variables que je récupère , exemple la poules1  joueur 1 avec le joueur 6 et joueur 9  
 
                  echo $verif1; // c'est le numéros du club du joueur 1,2,3    
           echo "**";
     echo $verif2; // c'est le numéros du club du joueur 4,5,6    
            echo "**";
     echo $verif3; // c'est le numéros du club du joueur 7,8,9    
     echo "**";
                                               //je vérifie si le numéros de club est différent entre le joueur 1 et 6 et 9 par exemple ou 3,4,7 etc
        if ( $verif1 == $verif2)
        {
                                                               // je détermine la valeur max du tableau 2  ce sont les joueurs de valeur 4 à 6  sois 3 joueurs.
           $definitionsup= ceil($totalinscrit/3*2);
                                                                // je détermine la valeur min du tableau  
        $definitioninf= floor($totalinscrit/3);
        $definitioninf = $definitioninf +1 ;
 
          echo $definitionsup;
                                                                                    echo "***";
           echo $definitioninf;
           echo "***";
           while ( $definitioninf <= $definitionsup)
           {
           echo $definitioninf;
            echo "***";
           echo $numerosclub[$definitioninf];
           $definitioninf++;
 
                               // ça m'affiche bien les 3 valeurs 4,5,6 de mon tableau  
                                                                             
                                                                         
          }
             
           
           }
         else
         {
         
          if ($verif1 == $verif3)
          {
           echo 'test1';
          }
          else  
          {
           
           if ($verif2 == $verif3)
          {
          echo 'test2';
          }
         
          }
         }
 
  // et je voudrai inverser la valeur 4 avec la valeur 5 si elle est différente par rapport à la tête de série de la poule sois la variable $verif1 ou  sinon par la valeur 6   .
 // exemple la valeur 4 prend la valeur 6  donc la valeur 6 prend la valeur 4  
 // et ne n'arrive pas à le faire
le tableau sera pas composer que de 9 joueurs mais de beaucoup plus de joueur donc pas de problème si il y a  plusieurs joueurs du même club.
je voulais savoir si mon raisonnement est logique ou si c'est du n'importe quoi mon script, je suis complément perdu  :??:  :??:  :??:  :??:  :??: .
une idée de condition ?
merci pour toute les réponses apporté.


Message édité par chris2225 le 13-02-2013 à 11:52:20
Reply

Marsh Posté le 12-02-2013 à 20:23:20   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed