Affichage des données issues de 2 listes déroulante dépendan

toumax Messages postés 36 Statut Membre -  
toumax Messages postés 36 Statut Membre -
Bonsoir chers tous,
je souhaiterai obtenir de l'aide auprès des expérimentés que vous êtes.
Après avoir quelques tutos et échanges sur le les forums, j'ai réussi à écrire un code qui permet à partir d'une première liste déroulante d'alimenter un second qui dépend entièrement de la première.
je bute de quelques semaines sur le fait d'importer les données depuis une table grâce à une sélection dans la second liste. Merci d'avance

<?php
// Fichier entête
require_once("entete.php");

// TRAITEMENT DU FORMULAIRE EQUIPE TERRAIN (si posté)
if( isset($_POST['choix_equipe']) )
{
$choix_equipe = $_POST['choix_equipe']; // choix fait
} else {
$choix_equipe = -1;
}

// TRAITEMENT DU FORMULAIRE (si posté)
if( isset($_POST['choix_cluster']) )
{
$choix_cluster = $_POST['choix_cluster']; // choix fait
} else {
$choix_cluster = -1;
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="bootstrap/css/bootstrap-theme.min.css" rel="stylesheet" media="screen">
<script type="text/javascript" src="jquery-1.11.3-jquery.min.js"></script>
<link rel="stylesheet" href="style.css" type="text/css" />
<title>PNRSS <?php print($userRow['user_email']); ?></title>
</head>

<body>

<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>

</div>
<div class="pull-left"><img src="images/logo-aigf.png"></div>
<div id="navbar" class="navbar-collapse collapse">
<h3 class="text-center">
PROGRAMME NATIONAL DE RECENSEMENT DES SITES ET STATIONS
</h3>
<ul class="nav navbar-nav navbar-right">

<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<span class="glyphicon glyphicon-user"></span> Utilisateur: <?php echo $userRow['user_email']; ?> <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="profile.php"><span class="glyphicon glyphicon-user"></span>  Profile</a></li>
<li><a href="logout.php?logout=true"><span class="glyphicon glyphicon-log-out"></span> Déconnection</a></li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>

<div class="clearfix"></div>

<div class="container-fluid" style="margin-top:80px;">

<div class="container">

<label class="h5">Bienvenue : <?php print($userRow['user_name']); ?></label>
<hr />

<h3 align="center">COLLECTE DES DONNEES DU PNRSS</h3>
<hr />
<br/>
<div>
<!-- Liste deroulante connection db -->

<!-- Liste déroulante des equipes -->
<form method="post" action="liste_equipe.php">

<select name="choix_equipe" class="col-lg-3">
<option value="-1"<?php if($choix_equipe==-1){ echo ' selected="selected"'; } ?>>-- Choisissez -- </option>
<?php

// connexion BD
$sql=$pdo = new PDO('mysql:host=localhost;dbname=dblogin' ,'root','' );
$sql = "SELECT EQUIPE_TERRAIN FROM tampon GROUP BY EQUIPE_TERRAIN";
// ----------------
// PREPARATION ET EXECUTION DE LA REQUETE
$stmt_equipe = $pdo->prepare($sql);
$stmt_equipe->execute();
// ----------------
while( $equipe = $stmt_equipe->fetch() ) // on récupère une ligne à la fois
{
?>
<option value="<?php echo $equipe['EQUIPE_TERRAIN']; ?>"

<?php

if($choix_equipe==$equipe['EQUIPE_TERRAIN'])
{ echo ' selected="selected"'; }
?>>
<?php echo $equipe['EQUIPE_TERRAIN']; ?></option>
<?php

}
// ----------------
?>
</select>
<input type="submit" value="Valider" />

</form>

<!-- FIN première liste déroulante-->

<!-- DEBUT deuxième liste déroulante-->

<?php
// -----------------------------------
// AFFICHAGE du résultat (si on a fait un choix)
if($equipe != -1)
{
?>
<p>Vous avez sélectionné : <?php echo $equipe; ?></p>

<select class="col-lg-3" name="choix_cluster">
<option>--- Selectionnez un cluster ---</option>
<?php

// on peut maintenant AFFICHER la liste des cluster de équipe

$sql = "SELECT DISTINCT CLUSTER FROM tampon WHERE EQUIPE_TERRAIN = :choix_equipe ";
// ----------------
// PREPARATION ET EXECUTION DE LA REQUETE
$stmt_cluster = $pdo->prepare($sql);
$stmt_cluster->execute( array(':choix_equipe' => $choix_equipe) );

?>
<!-- deuxième liste déroulante-->

<?php
// ----------------
while( $choix_cluster = $stmt_cluster->fetch() ) // on récupère une ligne à la fois
{ echo "<option value=" . $choix_cluster['CLUSTER'] . "'>". $choix_cluster['CLUSTER']."</option>";
}
}
?>

</div>
<br/>
<br/>

</div>

</div>

</div>

<script src="bootstrap/js/bootstrap.min.js"></script>

</body>
</html>

8 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Regarde le if ligne 81 puis ta boucle ligne 177
    Ne vois-tu pas que tu as utilisé le même nom de variable ?
    1
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Tu dis avoir un problème .. sans expliquer quoi ....

    Quoi qu'il en soit, ton code pourrait ressembler à un truc du genre:

    <?php
    //Affichage des erreurs PHP
    error_reporting(E_ALL);
    //---------------------------------------------------------------------------//
    //Connexion propre à la bdd
    // voir : http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs
    //---------------------------------------------------------------------------//
    try{
      $bdd = new PDO('mysql:host=localhost;dbname=dblogin' ,'root','' );
      $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
      $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    
    //---------------------------------------------------------------------------//
    //découpage du code en "fonctions"
    //---------------------------------------------------------------------------//
      function getListeEquipeTerrain(){
        global $bdd;
        $sql = "SELECT EQUIPE_TERRAIN FROM tampon GROUP BY EQUIPE_TERRAIN";
        //Execution de la requete
        try{
          $requete = $bdd -> prepare($sql) ;
          $requete->execute();
          return $requete->fetchAll(); //on retourne le résultat sous forme d'array
        }catch(Exception $e){
          // en cas d'erreur :
           echo " Erreur ! ".$e->getMessage();
           exit:
        }
      }
      
      function getCluster($choix_equipe){
        global $bdd;
        $sql = "SELECT DISTINCT CLUSTER FROM tampon WHERE EQUIPE_TERRAIN = :choix_equipe ";
        $datas = [':choix_equipe'=>$choix_equipe];
        //Execution de la requete
        try{
          $requete = $bdd -> prepare($sql) ;
          $requete->execute($datas);
          return $requete->fetchAll(); //on retourne le résultat sous forme d'array
        }catch(Exception $e){
          // en cas d'erreur :
           echo " Erreur ! ".$e->getMessage();
           exit:
        }
      }
      
      //---------------------------------------------------------------------------//
    
    	// Fichier entête 
    	require_once("entete.php");
    	
    	// TRAITEMENT DU FORMULAIRE EQUIPE TERRAIN (si posté)
    	if( isset($_POST['choix_equipe']) )	{
    		$choix_equipe = $_POST['choix_equipe']; // choix fait
    	} else {
    		$choix_equipe = -1;
    	}	
    
    	// TRAITEMENT DU FORMULAIRE (si posté)
    	if( isset($_POST['choix_cluster']) )	{
    		$choix_cluster = $_POST['choix_cluster']; // choix fait
    	} else {
    		$choix_cluster = -1;
    	}	
    
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="bootstrap/css/bootstrap-theme.min.css" rel="stylesheet" media="screen">
    <script type="text/javascript" src="jquery-1.11.3-jquery.min.js"></script>
    <link rel="stylesheet" href="style.css" type="text/css"  />
    <title>PNRSS <?php print($userRow['user_email']); ?></title>
    </head>
    
    <body>
    
    <nav class="navbar navbar-default navbar-fixed-top">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
             
            </div>
    		<div class="pull-left"><img src="images/logo-aigf.png"></div>
            <div id="navbar" class="navbar-collapse collapse">
              	<h3 class="text-center">
                PROGRAMME NATIONAL DE RECENSEMENT DES SITES ET STATIONS 
             	</h3>
              <ul class="nav navbar-nav navbar-right">
                
                <li class="dropdown">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
    			  <span class="glyphicon glyphicon-user"></span> Utilisateur: <?php echo $userRow['user_email']; ?> <span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li><a href="profile.php"><span class="glyphicon glyphicon-user"></span>  Profile</a></li>
                    <li><a href="logout.php?logout=true"><span class="glyphicon glyphicon-log-out"></span> Déconnection</a></li>
                  </ul>
                </li>
               </ul>
            </div><!--/.nav-collapse -->
          </div>
        </nav>
    
    
        <div class="clearfix"></div>
        	
        
    <div class="container-fluid" style="margin-top:80px;">
    	
        <div class="container">
        
        	<label class="h5">Bienvenue : <?php print($userRow['user_name']); ?></label>
            <hr />
            
            <h3 align="center">COLLECTE DES DONNEES DU PNRSS</h3>
            <hr />
           	<br/>
    		<div>							
    			<!-- Liste déroulante des equipes -->
    			<form method="post" action="liste_equipe.php">
    				
    				<select name="choix_equipe" class="col-lg-3">
    				<option value="-1"<?php if($choix_equipe==-1){ echo ' selected="selected"'; } ?>>-- Choisissez -- </option>
    				<?php
    					$arrEquipes = getListeEquipeTerrain();
              foreach($arrEquipes as $equipe ) {
                $selected = $choix_equipe==$equipe['EQUIPE_TERRAIN'] ? ' selected="selected"' : "";
                echo '<option value="'.$equipe['EQUIPE_TERRAIN'].'" '.$selected.'>'.$equipe['EQUIPE_TERRAIN'].'</option>';	
              }            
            ?>
    				</select>
    				<input type="submit" value="Valider" />				
    			</form>				
    			<!-- FIN première liste déroulante-->
    
    			<!-- DEBUT deuxième liste déroulante-->			
    			<?php
    			// -----------------------------------
    			// AFFICHAGE du résultat (si on a fait un choix)
    			if($equipe != -1) { 
    			?>
            <p>Vous avez sélectionné : <?php echo $equipe; ?></p>
    			
            <select class="col-lg-3" name="choix_cluster">
              <option>--- Selectionnez un cluster ---</option>
    			<?php
              $arrCluster = getCluster($choix_equipe);
              foreach( $arrCluster as $choix_cluster ){ 
                echo "<option value=" . $choix_cluster['CLUSTER'] . "'>". $choix_cluster['CLUSTER']."</option>";
              }   
    			} 				 
    			?> 
    								
    			</div>
    		<br/>
    		<br/>
    		
    		</div>
      
        </div>
    
    </div>
    
    <script src="bootstrap/js/bootstrap.min.js"></script>
    
    </body>
    </html>
    


    Il y aurait encore des choses à améliorer ... comme par exemple éviter de travailler avec les "noms" de tes équipes ou des cluster .. mais utiliser leurs ID serait plus fiable et plus efficace..

    Pour le reste, je t'invite à lire ( et à appliquer dans tes prochains codes) les conseils donnés ici :
    https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
    et là
    https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

    PS: quand tu postes du code sur le forum, merci de préciser dans les balises, le langage concerné.
    ça permet d'avoir la coloration syntaxique et la numérotation des lignes ( comme le code que je t'ai mis)
    Explications disponibles ici :
    https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

    PS² : En général, pour faire des listes liées on utilise le javascript et l'ajax.. ça évite de recharger la page...
    0
  3. toumax Messages postés 36 Statut Membre
     
    Merci Jordan45 pour le temps que vous consacré à mon souci.
    en effet, j'ai pas bien décrit le problème et j'en suis désolé. Il s'agit d'afficher les données d'une table à travers deux listes déroulantes liées.
    j'arrive à extraire les données pour la première et la deuxième liste déroulante . Mon soucis est que j'arrive pas à afficher mon tableau qui est le résultat des deux valeurs choisis dans les listes déroulantes.

    Merci encore pour l'orientation, et les liens vers les tutos. Je suis pas trop à l'aise avec javascript et ajax, voila pourquoi j'ai préféré résoudre ce soucis avec seulement du PHP
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      quel tableau ??
      Avec quelle requête SQL ?

      Je pense qui'il nous manque des infos ...

      A noter que si tu veux pouvoir, après avoir selectionné un cluster, faire une nouvelle requête qui va chercher des données... mettre ton select de cluster également dans un <form> pour pouvoir ensuite récupérer la valeur en php .. (comme pour ta première liste )
      0
  4. toumax Messages postés 36 Statut Membre
     
    oui oui en fait j'ai merdé, j'ai pas posté tout le code .
    voici donc la suite du code qui devrait me permettre d'afficher les valeurs de ma table
    voici la portion de code qui ne fonctionne pas
     <form method="post">
    			<input type="submit" value="Valider" name="submit" />
    			
    			<?php
    			// récupération des variables 
    			$eqt = !empty($_POST['choix_equipe']) ? $_POST['choix_equipe'] : NULL;
    			$clt = !empty($_POST['choix_cluster']) ? $_POST['choix_cluster'] : NULL;
    			
    			if($eqt && $clt)
    			
    			{
    			// préparation de la requête 			
    			$sql = "SELECT * FROM tampon WHERE EQUIPE_TERRAIN = :eqt AND CLUSTER = :clt ";
      			$params = array(  ':eqt' => $eqt ,':clt' => $clt );
    					
    			try{
        			$req = $pdo->prepare($sql);
        			$req->execute($params);
    				$donne = $req->fetchAll(PDO::FETCH_ASSOC);
    				var_dump($donne);
    				
      			   }
    			catch (Exception $e){
    				
    				 echo "<br> Requete :".$sql;
    				 echo "<br> Params :<br>";
    				 print_r($params);
    			   }
    			}
    			
    						
    			?>

    une illustration en image
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. toumax Messages postés 36 Statut Membre
     
    Apres quelques modifs et pris en compte de vos observations

    j'ai créé cette fonction calquant le votre
    function getAffichageListe($data, $datass){
        global $bdd;
        $sql = "SELECT * FROM tampon WHERE EQUIPE_TERRAIN = :choix_equipe AND CLUSTER = :choix_cluster ";
        $data = [':choix_equipe'=>$choix_equipe];
     $datass = [':choix_cluster'=>$choix_cluster];
        //Execution de la requete
        try{
          $requete = $bdd -> prepare($sql) ;
          $requete->execute($data,$datass);
          return $requete->fetchAll(); //on retourne le résultat sous forme d'array
        }catch(Exception $e){
          // en cas d'erreur :
           echo " Erreur ! ".$e->getMessage();
           exit;
        }
      }


    avec deux paramètres

    mais lorsque j'effectue ce traitement :

    <?php 
         $arrAffichage = getAffichageListe($choix_equipe,$choix_cluster);
         foreach($row as $arrAffichage ) { 
          echo $row['EQUIPE_TERRAIN'];
         }
         
         ?>


    il m'affiche ces erreurs :


    aide moi stp . Merci
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      getAffichageListe($data, $datass){

      Ce n'est pas data et datass que tu dois passer en paramètres mets les deux variables choix équipé choix cluster
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Ah.. et puis... c'est quoi cette variable $datass ?? je n'avais pas vu ....
        Tu sais ce que c'est un array associatif ???

        function getAffichageListe($choix_equipe, $choix_cluster){
            global $bdd;
            $sql = "SELECT * FROM tampon WHERE EQUIPE_TERRAIN = :choix_equipe AND CLUSTER = :choix_cluster ";
            $data = [':choix_equipe'=>$choix_equipe, ':choix_cluster'=>$choix_cluster];
         try{
              $requete = $bdd -> prepare($sql) ;
              $requete->execute($data,);
              return $requete->fetchAll(); //on retourne le résultat sous forme d'array
            }catch(Exception $e){
              // en cas d'erreur :
               echo " Erreur ! ".$e->getMessage();
               exit;
            }
        }
        
        0
      2. toumax Messages postés 36 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Non mais je vais lire des tutos sur les tableaux associatifs
        0
      3. toumax Messages postés 36 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Bonjour jordan45
        Joyeux Noël au passage.

        j'ai lu quelques tuto sur les tableau associatif, mais bien avant de pouvoir les utiliser j'ai cette erreur :


        apres des recherches sur la nature de cette erreur, qui m'oriente vers ce code :
        function getAffichageListe($choix_equipe, $choix_cluster){
            global $bdd;
            $sql = "SELECT * FROM tampon WHERE EQUIPE_TERRAIN = :choix_equipe AND CLUSTER = :choix_cluster ";
            $data = [':choix_equipe'=>$choix_equipe, ':choix_cluster'=>$choix_cluster];
         try{
              $requete = $bdd -> prepare($sql) ;
              $requete->execute(array($data));
              return $requete->fetchAll(); //on retourne le résultat sous forme d'array
            }catch(Exception $e){
              // en cas d'erreur :
               echo " Erreur ! ".$e->getMessage();
               exit;
            }
        }


        et l'appelle de cette fonction :

        <?php 
        			  
        			  $arrAffichage = getAffichageListe($choix_equipe,$choix_cluster);
        			  foreach($arrAffichage as $arrAffichage ) { 
        				  var_dump($arrAffichage);
        			  }
        			  
        			  
        			  ?>


        j'ai beau cherché et changer les paramètres , j'ai tujours cette erreur.
        0
      4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > toumax Messages postés 36 Statut Membre
         
        
         
        $arrAffichage = getAffichageListe($choix_equipe,$choix_cluster);
        
        echo "<pre> DEBUG :";
        var_dump($arrAffichage);
        echo "</pre><br>";
        
        echo "<br> DEBUT DE LA BOUCLE ...";
         foreach($arrAffichage as $A ) { 
              echo "<br>" . print_r($A,true);
         }
        
        
        1
  7. toumax Messages postés 36 Statut Membre
     
    Voici cette fois-ci l'erreur qu'on m'affiche


    j'ai modifié ma fonction getAffichage

    function getAffichageListe($choix_equipe, $choix_cluster){
        global $bdd;
        $sql = "SELECT * FROM tampon WHERE EQUIPE_TERRAIN = :choix_equipe AND CLUSTER = :choix_cluster ";
    	
        //$data = [':choix_equipe'=>$choix_equipe, ':choix_cluster'=>$choix_cluster];
     try{
          $requete = $bdd -> prepare($sql) ;
          $requete->execute(array(':choix_equipe'=>$choix_equipe, ':choix_cluster'=>$choix_cluster));
          return $requete->fetchAll(); //on retourne le résultat sous forme d'array
        }catch(Exception $e){
          // en cas d'erreur :
           echo " Erreur ! ".$e->getMessage();
           exit;
        }
    }


    malheureusement après la validation de ma première liste , l'erreur apparait encore


    voici tous le code
    <?php
    		
    	//Affichage des erreurs PHP
    error_reporting(E_ALL);
    //---------------------------------------------------------------------------//
    //Connexion propre à la bdd
    // voir : http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs
    //---------------------------------------------------------------------------//
    try{
      $bdd = new PDO('mysql:host=localhost;dbname=dblogin' ,'root','' );
      $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
      $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    
    //---------------------------------------------------------------------------//
    //découpage du code en "fonctions"
    //---------------------------------------------------------------------------//
      function getListeEquipeTerrain(){
        global $bdd;
        $sql = "SELECT EQUIPE_TERRAIN FROM tampon GROUP BY EQUIPE_TERRAIN";
        //Execution de la requete
        try{
          $requete = $bdd -> prepare($sql) ;
          $requete->execute();
          return $requete->fetchAll(); //on retourne le résultat sous forme d'array
        }catch(Exception $e){
          // en cas d'erreur :
           echo " Erreur ! ".$e->getMessage();
           exit;
        }
      }
      
      function getCluster($choix_equipe){
        global $bdd;
        $sql = "SELECT DISTINCT CLUSTER FROM tampon WHERE EQUIPE_TERRAIN = :choix_equipe ";
        $datas = [':choix_equipe'=>$choix_equipe];
        //Execution de la requete
        try{
          $requete = $bdd -> prepare($sql) ;
          $requete->execute($datas);
          return $requete->fetchAll(); //on retourne le résultat sous forme d'array
        }catch(Exception $e){
          // en cas d'erreur :
           echo " Erreur ! ".$e->getMessage();
           exit;
        }
      }
      
    
    function getAffichageListe($choix_equipe, $choix_cluster){
        global $bdd;
        $sql = "SELECT * FROM tampon WHERE EQUIPE_TERRAIN = :choix_equipe AND CLUSTER = :choix_cluster ";
    	
        //$data = [':choix_equipe'=>$choix_equipe, ':choix_cluster'=>$choix_cluster];
     try{
          $requete = $bdd -> prepare($sql) ;
          $requete->execute(array(':choix_equipe'=>$choix_equipe, ':choix_cluster'=>$choix_cluster));
          return $requete->fetchAll(); //on retourne le résultat sous forme d'array
        }catch(Exception $e){
          // en cas d'erreur :
           echo " Erreur ! ".$e->getMessage();
           exit;
        }
    }
      //---------------------------------------------------------------------------//
    
    	// Fichier entête 
    	require_once("entete.php");
    	
    	// TRAITEMENT DU FORMULAIRE EQUIPE TERRAIN (si posté)
    	if( isset($_POST['choix_equipe']) )	{
    		$choix_equipe = $_POST['choix_equipe']; // choix fait
    	} else {
    		$choix_equipe = -1;
    	}	
    
    	// TRAITEMENT DU FORMULAIRE (si posté)
    	if( isset($_POST['choix_cluster']) )	{
    		$choix_cluster = $_POST['choix_cluster']; // choix fait
    	} else {
    		$choix_cluster = -1;
    	}	
    
    
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="bootstrap/css/bootstrap-theme.min.css" rel="stylesheet" media="screen">
    <script type="text/javascript" src="jquery-1.11.3-jquery.min.js"></script>
    <link rel="stylesheet" href="style.css" type="text/css"  />
    <title>PNRSS <?php print($userRow['user_email']); ?></title>
    </head>
    
    <body>
    
    <nav class="navbar navbar-default navbar-fixed-top">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
             
            </div>
    		<div class="pull-left"><img src="images/logo-aigf.png"></div>
            <div id="navbar" class="navbar-collapse collapse">
              	<h3 class="text-center">
                PROGRAMME NATIONAL DE RECENSEMENT DES SITES ET STATIONS 
             	</h3>
              <ul class="nav navbar-nav navbar-right">
                
                <li class="dropdown">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
    			  <span class="glyphicon glyphicon-user"></span> Utilisateur: <?php echo $userRow['user_email']; ?> <span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li><a href="profile.php"><span class="glyphicon glyphicon-user"></span>  Profile</a></li>
                    <li><a href="logout.php?logout=true"><span class="glyphicon glyphicon-log-out"></span> Déconnection</a></li>
                  </ul>
                </li>
               </ul>
            </div><!--/.nav-collapse -->
          </div>
        </nav>
    
    
        <div class="clearfix"></div>
        	
        
    <div class="container-fluid" style="margin-top:80px;">
    	
        <div class="container">
        
        	<label class="h5">Bienvenue : <?php print($userRow['user_name']); ?></label>
            <hr />
            
            <h3 align="center">COLLECTE DES DONNEES DU PNRSS</h3>
            <hr />
           	<br/>
    		<div>							
    			<!-- Liste déroulante des equipes -->
    			<form method="post" action="liste_equipe.php">
    				
    				<select name="choix_equipe" class="col-lg-3">
    				<option value="-1"<?php if($choix_equipe==-1){ echo ' selected="selected"'; } ?>>-- Choisissez -- </option>
    				<?php
    					$arrEquipes = getListeEquipeTerrain();
              foreach($arrEquipes as $equipe ) {
                $selected = $choix_equipe==$equipe['EQUIPE_TERRAIN'] ? ' selected="selected"' : "";
                echo '<option value="'.$equipe['EQUIPE_TERRAIN'].'" '.$selected.'>'.$equipe['EQUIPE_TERRAIN'].'</option>';	
              }            
            ?>
    				</select>
    				<input type="submit" value="Valider" />				
    			</form>				
    			<!-- FIN première liste déroulante-->
    
    			<!-- DEBUT deuxième liste déroulante-->			
    			<?php
    			// -----------------------------------
    			// AFFICHAGE du résultat (si on a fait un choix)
    			if($choix_equipe != -1) { 
    			?>
            <p>Vous avez sélectionné : <?php echo $choix_equipe; ?></p>
    	<form method="post">	
            <select class="col-lg-3" name="choix_cluster">
              <option>--- Selectionnez un cluster ---</option>
    			<?php
              $arrCluster = getCluster($choix_equipe);
              foreach( $arrCluster as $choix_cluster ){ 
                echo "<option value=" . $choix_cluster['CLUSTER'] . "'>". $choix_cluster['CLUSTER']."</option>";
              }   
    			} 				 
    			?> 
    			 <p>Vous avez sélectionné : <?php echo $choix_cluster; ?></p> 
    			 <p>Vous avez sélectionné : <?php echo $choix_equipe; ?></p>
    		</select>
    			<input type="submit" value="Valider" /> 
    		</form>	
    			
    			<!-- Affichage des données dans un tableau-->
    		<form method="post">
    			<input type="submit">
    			<table class="table table-hover">
     		 <thead>
    			<tr>
    			  <th scope="col">REGION</th>
    			  <th scope="col">DEPARTEMENT</th>
    			  <th scope="col">LOCALITE</th>
    			  <th scope="col">SECTEUR</th>
    			  <th scope="col">CLUSTER</th>
    			  <th scope="col">LONGITUDE</th>
    			  <th scope="col">LATITUDE</th>
    			  <th scope="col">PYLONE</th> 
    			</tr>
    		  </thead>
    		  <tbody>
    			  <?php 
    			  
    			$arrAffichage = getAffichageListe($choix_equipe, $choix_cluster);
    
    				echo "<pre> DEBUG :";
    				var_dump($arrAffichage);
    			  
    				echo "</pre><br>";
    
    				echo "<br> DEBUT DE LA BOUCLE ...";
    				 foreach($arrAffichage as $A ) { 
    					  echo "<br>" . print_r($A,true);
    				 }
    
    			  
    			  ?>
    			<tr>
    			  <td scope="row"></th>
    			  <td> </td>
    			  <td> </td>
    			  <td> </td>
    			  <td> </td>
    			  <td> </td>
    			  <td> </td>
    			  <td> </td>
    			  <td> </td>
    			  <td> </td>
    			  <td><input class="btn-group-justified btn-danger" type="submit" value="Traiter"/></td>
    			</tr>   
    		  </tbody>
    		</table> 
    		
    		</form>	
    			
    			</div>
    		<br/>
    		<br/>
    		
    		</div>
      
        </div>
    
    </div>
    
    <script src="bootstrap/js/bootstrap.min.js"></script>
    
    </body>
    </html>
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Remets le code que je te l'avais donné et fais un var_dump de la variable pour voir ce qu'elle contient

      function getAffichageListe($choix_equipe, $choix_cluster){
          global $bdd;
          $sql = "SELECT * FROM tampon WHERE EQUIPE_TERRAIN = :choix_equipe AND CLUSTER = :choix_cluster ";
      	$data = [':choix_equipe'=>$choix_equipe, ':choix_cluster'=>$choix_cluster];
          var_dump($data); // montres moi ce que ça te retourne..
       try{
            $requete = $bdd -> prepare($sql) ;
            $requete->execute($data);
            return $requete->fetchAll(); //on retourne le résultat sous forme d'array
          }catch(Exception $e){
            // en cas d'erreur :
             echo " Erreur ! ".$e->getMessage();
             exit;
          }
      }
      
      1
      1. toumax Messages postés 36 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        voici la capture après le premier choix equipe


        et voici une capture apres choix 2



        Merci jordan45
        0
      2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > toumax Messages postés 36 Statut Membre
         
        Choix_cluster est un array...
        Comment t'es tu démerdé..
        Ah oui.. tu as encore utilisé lr même nom de variable dans la boucle et la variable post...
        0
      3. toumax Messages postés 36 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        je ne comprends pas bien ta réponse jordan45 ??
        0
      4. toumax Messages postés 36 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Merci jordan45 pour votre disponibilité. vous m'avez assez aidé, et je comprends que nos échanges sont lassant lol.
        je vais me débrouiller pour la suite.

        je tient à vous re exprimer toute ma gratitude encore et prenez soin de vous
        0
  8. toumax Messages postés 36 Statut Membre
     
    ah oui jordan, je viens de m'en rendre compte vraiment. Merci .voici la capture après prise en compte de tes recommandations


    maintenant le soucis de conserver les deux variables et les utiliser pour la fonction affichage. le var_dump me dit qu'il ya seulement le cluster qui a des données
    pourriez vous m'orienter.

    joyeux noel
    0
  9. toumax Messages postés 36 Statut Membre
     
    Solution trouver ,


    enfin j'ai mes deux variables. je peux maintenant procéder au prochain traitement.
    0