SVP , Besoin d'aide en PHP ( debutant )

Fermé
debutantPHP - 9 juin 2011 à 22:04
 phpFail - 9 juin 2011 à 22:40
Bonjour,


je suis débutant en php et je dois lier deux liste déroulante ( deja rempli depuis une base de donnée ) , la première liste déroulante contient des services et le 2eme contient la liste des employé , je veux quand je sélectionne un service de la première liste , il s'affiche directement dans la 2eme seulement les employés qui travaille dans se service . ça marche seulement quand je les fais dans deux page séparé , dans la même page ça marche pas , je me rend malade je suis coincé depuis deja deux semaine .. svp aidez moi je fais seulement une auto formation pour pourvoir déposé mon PFM alors que j ai jamais étudié le web , peut etre que c'est tres facile mais j'y arrive pas . . .
le code ( c'est trop long ) :

<?php include ('connection.php');
session_start();
$sql = "select * from tuser where login='".($_SESSION['login'])."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

  $data = mysql_fetch_assoc($req);
if($data['admin']=="oui"){
    
    
    
  
	include ('menu.php');
   
  }
  else {
  
	include ('menu2.php');
  } 

 ?>
 <?php 
 
 $id_service=  isset($_POST['id_service']) ? $_POST['id_service'] : 'Tous';
 $id_per=  isset($_POST['id_per']) ? $_POST['id_per'] : 'Tous';
 
 
 ?>
  

<html><body>
<?php 

?>


<form action="testeservice.php" name="form">



id service : 	<select name="id_service" id="id_service" onchange="form.submit()" >
			 <option>Toutes</option>
          <?php 
	
 $req 	= "SELECT  * FROM service ORDER BY id_service ASC";
	
	  
$r_req 	= mysql_query($req);
while ($q_req=mysql_fetch_array($r_req)) {
	  ?>
          <?php if ($q_req["id_service"]==$id_service) { ?>
          <option     value="<?php echo $q_req["id_service"];?>" name="id_service" Selected id="id_service"   ><?php echo $q_req["nom_service"]."&nbsp;&nbsp; ".$q_req["id_service"];?></option>
          <?php  } else {?>
          <option     value="<?php echo $q_req["id_service"];?>"  name="id_service" id="id_service"   ><?php echo $q_req["nom_service"]."&nbsp;&nbsp; ".$q_req["id_service"];?></option>
          <?php } }
		  ?>
        </select>
   
	
	
	
	
 id personne  <select name="id_per" id="id_per"  onchange="form.submit()">
	   <option>Toutes</option>
          <?php    
		  if(!empty($_POST['id_service'])){
  $req = "select * from personne ";
 
	  
$r_req 	= mysql_query($req);
while ($q_req=mysql_fetch_array($r_req)) {
	  ?>
          <?php if ($q_req["id_service"]==$id_service ) { ?>
          <?php $req = "select * from personne  where id_service ='".$_POST['id_service']."'";
  
		  }}
$r_req 	= mysql_query($req);
while ($q_req=mysql_fetch_array($r_req)) {
	  ?>
          <?php if ($q_req["id_per"]==$id_per) { ?>
          <option  value="<?php echo $q_req["id_per"];?>"  Selected id="id_per"><?php echo $q_req["nom"]."&nbsp;&nbsp; ".$q_req["id_per"];?>
          <?php
 	}

else{

	
	?>
          <option  value="<?php echo $q_req["id_per"];?>"  id="id_per" ><?php echo $q_req["nom"]."&nbsp;&nbsp; ".$q_req["id_per"];?>
          <?php
	}}}
?>
          </option>
        </select>    
  
</form>







</body></html>


Merci

A voir également:

1 réponse

Bonsoir,

En php tu peux rafraichir la page (refresh()...) et faire une vérification du genre:

Si (quelques choses à été saisie dans la liste déroulante 1)
alors (faire la requete pour récupérer tout les employés de ce service et les mettres dans la liste déroulante 2)

Ca va être un peu lourd certes.

La meilleur solution reste -> AJAX
et c'est une autre histoire ^^
0
je n'ai aucune idee sur AJAX ..
merci quand même :)
0
AJAX fait exactement ce que tu recherches en fait. Mais c'est pas ma spécialité... MOTIVATION !!!
0