begin process at 2012 05 30 18:26:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

pb triple liste déroulante


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb triple liste déroulante

jeudi 16 février 2006 à 14:51:03 | pb triple liste déroulante

ahcorad

Voila ma triple liste déroulante ne fonctionne pas !
les deux premières fonctionnenent bien mais pas la dernière !

ça ne fonctionne toujours pas ! je ne vois vraiment pas ! je met mon code !

page principal
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
 /**
  * Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
  */
 function sendData(param, page)
 {
  if(document.all)
  {
   //Internet Explorer
   var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
  }//fin if
  else
  {
      //Mozilla
   var XhrObj = new XMLHttpRequest();
  }//fin else

  //définition de l'endroit d'affichage:
  var content = document.getElementById("contenu");
  
  XhrObj.open("POST", page);

  //Ok pour la page cible
  XhrObj.onreadystatechange = function()
  {
   if (XhrObj.readyState == 4 && XhrObj.status == 200)
    content.innerHTML = XhrObj.responseText ;
  }

  XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  XhrObj.send(param);
 }//fin fonction SendData

 function send(param, page)
 {
  if(document.all)
  {
   //Internet Explorer
   var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
  }//fin if
  else
  {
      //Mozilla
   var XhrObj = new XMLHttpRequest();
  }//fin else

  //définition de l'endroit d'affichage:
  var content = document.getElementById("cont");
  
  XhrObj.open("POST", page);

  //Ok pour la page cible
  XhrObj.onreadystatechange = function()
  {
   if (XhrObj.readyState == 4 && XhrObj.status == 200)
    content.innerHTML = XhrObj.responseText ;
  }

  XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  XhrObj.send(param);
 }//fin fonction SendData
    </script>
</head>
<body>

<?php
 // Paramètres de la Connexion à la base MYSQL
 $user="";
 $host="";
 $password="";
 $database="";
 $i=0; // variable de test
 $j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
 $k=0;
 $l=0;
      
 $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
 mysql_select_db($database,$connexion);   
 echo '<form action="rec.php" method="POST">';
 // Séléction de tous les enregistrements de la table Catégorie
 $rq="SELECT * FROM structure WHERE numstructure <> 0 ORDER BY siglestructure;";
 $result= mysql_query ($rq) or die ("Select impossible");
?>
 <select size="1" name="struc" OnChange="sendData('id='+this.value,'liresc.php')" onKeyUp="sendData('id='+this.value,'liresc.php')">
 <?php    
  while ($dt=mysql_fetch_row($result))
  {
   // Remplir la liste déroulante des catégorie 
   echo "<option value=".($dt[0]).">".($dt[2])."</option>";
   if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
  }
 ?>   
 </select><br><br>

   <div id="contenu">
 
   <select size='1' name='service' OnChange="send('no='+this.value,'lire.php')" onKeyUp="send('no='+this.value,'lire.php')">
 <?php   
    $rq="SELECT * FROM service WHERE numstructure=".$j." ORDER BY nomservice;";
    $result= mysql_query ($rq) or die ("Select impossible");
     // $i = initialise le variable i
    $i=0;
    while ($dt=mysql_fetch_row($result))
    {
  echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[3])."</option><br>";
      if ($k==0) { $l=$dt[0]; $k=1; } // garder la valeur du premier enregistrement
    }   
 echo "</select>";
 echo '</div>';
 ?>
 
 <div id="cont">

 <select size='1' name='sous_service'>
 <?php
  $rq="SELECT * FROM sous_service WHERE numservice=".$l." ORDER BY nomsousservice;";
  $result= mysql_query ($rq) or die ("Select impossible");
  $k=0;
  while ($dt=mysql_fetch_row($result))
  {
   echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[3])."</option><br>";
  }   
  echo "</select>";
  echo '</div>';
  echo '<p /><input type="submit" value="Afficher la liste"><p />';
  echo "</form>";
 ?>  
</body>
</html>
   

lire.php
<?php
header('Content-type: text') ; // on déclare ce qui va être afficher
 
// test des POST emis
if(isset($_POST['no']) && !empty($_POST['no']) ){
   $user="";
   $host="";
   $password="";
   $database="";
   $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");  
   mysql_select_db($database,$connexion);
    $rq="SELECT * FROM sous_service WHERE numservice=".$_POST['no']." ORDER BY nomsous_service;";
    $result= mysql_query ($rq) or die ("Select impossible");
    $k=0;
 if (mysql_num_rows($result)>0)
 {
   echo "<select size='1' name='sous_service'>";
 }
 else
 {
   echo utf8_encode("Aucun sous service"); 
   echo '<input name="sous_service" type="hidden" value="0" />';
 }
    while ($dt=mysql_fetch_row($result))
    {  
  echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[3])."</option><br>";
    }   
 echo "</select>";
}

?>

liresc.php

<?php
header('Content-type: text') ; // on déclare ce qui va être afficher
 
// test des POST emis
if(isset($_POST['id']) && !empty($_POST['id']) ){
   $user="";
   $host="";
   $password="";
   $database="";
   $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");  
   mysql_select_db($database,$connexion);
    $rq="SELECT * FROM service WHERE numstructure=".$_POST['id']." ORDER BY nomservice;";
    $result= mysql_query ($rq) or die ("Select impossible");
     // $i = initialise le variable i
    $i=0;
 if (mysql_num_rows($result)>0)
 {
   echo "<select size='1' name='service'>";
 }
 else
 {
   echo utf8_encode("Aucun service"); 
   echo '<input name="service" type="hidden" value="0" />';
 }
    while ($dt=mysql_fetch_row($result))
    {  
  echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[3])."</option><br>";
    }   
 echo "</select>";
}

?>

jeudi 16 février 2006 à 15:01:14 | Re : pb triple liste déroulante

sidf

c'est quelle partie qui ne fonctionne pas ? parce que là il y a beaucoup de code !
jeudi 16 février 2006 à 15:07:24 | Re : pb triple liste déroulante

malalam

Administrateur CodeS-SourceS
Hello,

explique ce qui ne fonctionne pas exactement (je prends un peu de temps pour toi, depuis le temps que tu me le demandes ;-) )?

<div id="cont">

 <select size='1' name='sous_service'>
 <?php
  $rq="SELECT * FROM sous_service WHERE numservice=".$l." ORDER BY nomsousservice;";
  $result= mysql_query ($rq) or die ("Select impossible");
  $k=0;
  while ($dt=mysql_fetch_row($result))
  {
   echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[3])."</option><br>";
  }   
  echo "</select>";
  echo '</div>';

La 1ère update la 2de, la 2de update la 3ème ? Que fait la 3ème ? Et qu'est ce qui ne se passe pas, et qui devrait ?

jeudi 16 février 2006 à 16:46:05 | Re : pb triple liste déroulante

ahcorad

Ok j'explique ! Merci !
Alors l'utilisateur doit sélectionner une structure (service et sous_service) pour avoir la liste des employés de cette meme structure.
Donc pour cela trois listes déroulantes :
la 1ère pr la structure : il choisi la structure ; ce qui nous renseigne pour la deuxième structure !
la 2ème pr le service : il choisi le service en fonction de la structure qui la choisi ! si ya pas de service : le message aucun service apparait !
la 3ème pr le sous_service : il choisi le sous_service en fonction du service qui la choisi ! si ya pa de sous_service : le message aucun sous_service apparait !
voila çété la théorie !
en pratique : je peux choisir la structure et le service ; mais la dernière liste déroulante est toujours vide ! je ne sais pas trop pourkoi !
merci à ceux qui veulent de jetter un coup d'oeil !
jeudi 16 février 2006 à 16:57:55 | Re : pb triple liste déroulante

malalam

Administrateur CodeS-SourceS
Ok, donc c'est le onchange amenant à liste.php qui ne renvoie pas ce que tu veux, c'est ça ?
Bah, fais un echo $rq; dans liste.php, après avoir défini ta requête, tu verras déjà à quoi elle ressemble.
vendredi 17 février 2006 à 09:56:37 | Re : pb triple liste déroulante

ahcorad

dans lire.php tu veux dire non ?
vendredi 17 février 2006 à 10:03:03 | Re : pb triple liste déroulante
lundi 20 février 2006 à 18:53:54 | Re : pb triple liste déroulante

ahcorad

oui ! Désolé pour le retard !
la valeur du service qui doit etre transmise en toujours nulle !
donc la requete ne s'éxécute pas !
vendredi 18 août 2006 à 20:02:45 | Re : pb triple liste déroulante

CARATGOLD2004

Bonjour, Je souhaite chainer 3 listes déroulantes utilisant ajax avec le code inspiré du lien suivant : http://perso.wareteam.com/comment_demander_des_informations_au_serveur_sans_recharger_la_page-.php Aujourd'hui je suis dans le même cas que ahcorad avec un code presque identique. Comme l'avait supposé malalam, il semble que ce soit OnChange="send... et onKeyUp="send...qui ne soient pas actifs dans
. Je me retrouve dans cette situation lorsque j’utilise la 1ere liste déroulante dès le début. La 1ere liste déroulante mais à jour la 2me mais la 2me ne met pas à jour la 3me liste déroulante. Par contre, si à l’ouverture de la page, je commence par utiliser d’abord la 2me liste déroulante (pour laquelle j’ai affecté une valeur par défaut) alors la 3me liste déroulante est mise à jour. Quelqu’un a t’il répondu à ahcorad ? Merci pour votre aide
samedi 19 août 2006 à 12:26:12 | Re : pb triple liste déroulante

ahcorad

Salut !

Et non toujours pas de solutions ! j'ai abandonné !

mais si ya une solution je sui preneur !


1 2

Cette discussion est classée dans : mysql, select, echo, result, xhrobj


Répondre à ce message

Sujets en rapport avec ce message

affichage sur plusieurs page [ par piteur30 ] bonjourmon livre d'or est bientôt terminer et sa grâce a votre aidej'aurai encore besoin de votre aide pour afficher 10 messages par pageet ensuite qu php [ par marocmarocmaroc ] Salut;problème presque déjà posé mais je ne sais pas l'analyser voilà le code:j'explique mon problème:dans ma page j'ai deux listes déroulantes et deu tableau des membres (fonction modifier et suprimer de la basse) [ par piteur30 ] bonjourj'ai aficher toute les doner de mon tableau membre dans un tableau par se script :$host = 'serveur';$user = 'login';$pass = 'mot de passe'; pb requette mysql [ par dodo1309 ] hello, je suis entrain de faire deux combo  liée ( quand on choisi une option dans l'une l'autre se met a jours en fonction d'une requette mysql)Mon p checkbok dans un tableau [ par thomason1986 ] bonsoir à tous,jè un gros problème , en fait je recupére tous les enregistrement d'une table et j'affiche dans un tableau exactement comme c'est enreg Modif & supprimer en php [ par elhamidikhadija ] Bonjour <span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Ve selection dans une liste déroulante [ par helene38000 ] Bonjour à tous et à toutes,J'aurais besoin de votre aide car malgré mes recherche je n'arrive pas adapté ce que j'ai trouvé.Je voudrais à partir d'un lier 2 tables [ par Sogeekette ] Bonjour,J'ai 2 tables dans ma base de données. Lorsque des données sont saisies (la saisie se fait dans 2 formulaires différents, qui entrent les donn affichage date mysql [ par 01cod10 ] Salut,J'aimerai afficher la date sous cette forme Lundi 13 Aout 2007Voici le script que j'utilise mais je l'ai en anglais$host = 'localhost';$user = ' IMAGE [ par aurelbzh ] Voici mon code pour afficher dans un tableau des image 3 par 3 sur mon site le probleme c ke si je ne rentre qu'une  image dans la base les deux otre


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,075 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales