FORUM Tom's Hardware » Programmation » C / C++ / Java » copier mes listes déroulantes (Technologie Ajax)
 

copier mes listes déroulantes (Technologie Ajax)

Il y a 259 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : copier mes listes déroulantes (Technologie Ajax)
 
Plus d'informations

Bonjour.    J'ai 2 fichiers .php  --->  index.php  et  liresc.php (ci-dessous) et une base MySQL. Ces 2 fichiers me permettent de créer une liste déroulante et de la remplir grâce aux données présentes dans ma base. De plus une 2ème liste déroulante est crée et dépend de ma 1ère liste.  Exemple :  Dans ma 1ère liste je clique sur l'activité "Informatique", et dans la 2ème liste s'affiche les métiers liés à cette activité : "Administrateur réseau" / "Commercial informatique" / "Vendeur informatique" . Je voudrai que 2 autres listes déroulantes apparaissent à côté de mes 2 premières. (pour que vous puissiez m'aider on dira que ces listes seront identiques aux 2 premières). J'ai tenté des "copier / coller" tout simplement, malheureusement ça ne doit pas marcher comme ça ...   Merci de m'aider. Attention, merci de bien détailler vos réponses car j'ai encore un peu de mal avec la programmation...
 
Voici mes 2 fichiers (entiers) :
 
 
index.php
 
<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 ;
  }
   
   
 if (XhrObj.readyState == 4 && XhrObj.status == 200) {
    content._innerhtml = XhrObj.responseText ;
    alert(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="root";
   $host="localhost";
   $password="";
   $database="ma_base";
   $i=0; // variable de test
   $j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
       
   $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible" );
     
   mysql_select_db($database);
     
   // Séléction de tous les enregistrements de la table activite
   $rq="Select * from activite;";
      $result= mysql_query ($rq) or die ("Select impossible" );
      echo "<form method='POST' action='valid.php'>";
   
 
     ?>   <select size="1" name="cat" 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égories  
 echo "<option value=".($dt[0]).">".($dt[1])."</option>";
    if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
   }
     
   ?>    
   </select>
   
   <br><br>
      <div id="contenu">
 
 
  <?php  
  // affichage des sous-catégorie appartenant à la première catégorie.
   echo "<select size='1' name='souscat'>";    
    $rq="Select * metier where metier.nummetier=client.nummetier And client.numact=activite.numact=".$j." order by nommetier;";
    $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[1])."</option>";
    }    
 echo "</select>";
   
   ?>  
     
</div>
</form>
 
<p>&nbsp;</p>
 
<br><br>
 
 
 
liresc.php
 
<?php
header('Content-type: plain/text') ; // on déclare ce qui va être afficher
 
// test des POST emis
if(isset($_POST['id']) && !empty($_POST['id']) ){
   $user="root";
   $host="localhost";
   $password="";
   $database="ma_base";
   $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible" );    
   mysql_select_db($database);
    $rq="SELECT *  
FROM `metier` , `client` , `activite`  
WHERE `metier`.nummetier = `client`.fk_id_nummetier
AND `client`.fk_id_numact = `activite`.numact
AND `activite`.numact=".$_POST['id']." order by nommetier;";
    $res= mysql_query ($rq) or die ("Select impossible" );
   
   
     // $i = initialise le variable i
    $i=0;
 
 if (mysql_num_rows($res)>0)
 {
   echo "<select size='1' name='souscat'>";
 }
 else
 {
   echo utf8_encode("Pas de sous catégories disponible" );  
 }
    while ($dt=mysql_fetch_row($res))
    {  
  echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[1])."</option>";
    }    
 echo "</select>";
 
}
 
 
?>

Inside my own Second Life

Sympa les couleurs........ Mail il y a meilleur pour afficher le code : la balise [code] (bouton http://img.presence-pc.com/forum/icones/message/c.gif).. Alors tu édites ton premier post (bouton http://img.presence-pc.com/forum/themes_static/images_forum/1/edit.gif) et tu corriges..
 
Au passage, l'aide du forum te donneras nombre d'infos quant à l'utilisation des fonctions du forum..
 
:jap:


---------------
Retrouvez moi sur mon blog : http://www.nicolasullern.net/leblog/
Et aussi sur :
http://www.linkedin.com/in/nicolasullern
http://www.viadeo.com/fr/profile/nicolas.ullern
http://www.copaing.net/johanpirlouit/
Profil : Pointeur
Plus d'informations

je plusssoie :o
 
et élague ton code, je parie que tout n'est pas util :o


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » C / C++ / Java » copier mes listes déroulantes (Technologie Ajax)
 

Annonces Google
Publicité
Les ressources relatives