newbi1 | NewsletTux a écrit :
merci de mettre des balises [ code] pour ton message, c'est pas très lisible ...
et je n'arrive pas à ouvrir la source de ton lien ... Mais sinon il suffit de mettre un 3è SELECT dans l'absolu. Montre-nous ce que tu as fait.
|
désolé pour les balises.
Pour le lien, c'est un vieux script que j'ai trouvé sur le net, et la page était fourni tel quel.
Bon j'ai éssayé de bidouiller mais j'obtiens "select impossible"
aussis j'ai pas compris pourquoi il n'y a qu'une seule balise </form>
bon voici les fichiers
index.php
Code :
- <html>
- <head>
- <title>AFFICHER UNE LISTE DÉROULANTE EN FONCTION D'UNE AUTRE LISTE SANS RECHARGER LA PAGE OU PASSER L'INFORMATION PAR L'URL EN UTILISANT LA TECHNOLOGIE AJAX
- </title>
- <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
- </script>
- </head>
- <body>
-
- <?php
- // Paramètres de la Connexion à la base MYSQL
- $user="root";
- $host="localhost";
- $password="";
- $database="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,$connexion);
-
- // Séléction de tous les enregistrements de la table Catégorie
- $rq="Select * from script_categorie order by designation;";
- $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égorie
- 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 * from script_sous_categorie where idcat=".$j." order by designation;";
- $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[2])."</option><br>";
- }
- echo "</select>";
- ?>
- // BOUT DE CODE RAJOUTE ------------------------------------------------------------------------
- <select size="1" name="scat" 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[1])."</option>";
- if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
- }
-
- ?>
- </select>
- <br><br>
-
- <div id="scontenu">
- <?php
- // affichage des sous-catégorie appartenant à la première catégorie.
- echo "<select size='1' name='ssouscat'>";
- $rq="Select * from sscat where idcat=".$j." order by designation;";
- $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[2])."</option><br>";
- }
- echo "</select>";
- ?>
- </div>
- </form>
- </body>
- </html>
|
et liresc.php
Code :
- <?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="root";
- $host="localhost";
- $password="";
- $database="base";
- $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible" );
- mysql_select_db($database,$connexion);
- $rq="Select * from script_sous_categorie where idcat=".$_POST['id']." order by designation;";
- $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='souscat'>";
- }
- else
- {
- echo utf8_encode("Pas de sous catégories disponible" );
- }
- while ($dt=mysql_fetch_row($result))
- {
- echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[2])."</option><br>";
- }
- echo "</select>";
- }
- ?>
- // BOUT DE CODE RAJOUTE ------------------------------------------------
- <?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="root";
- $host="localhost";
- $password="";
- $database="base";
- $connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible" );
- mysql_select_db($database,$connexion);
- $rq="Select * from sscat where idcat=".$_POST['id']." order by designation;";
- $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='ssouscat'>";
- }
- else
- {
- echo utf8_encode("Pas de sous catégories disponible" );
- }
- while ($dt=mysql_fetch_row($result))
- {
- echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[2])."</option><br>";
- }
- echo "</select>";
- }
- ?>
|
C'est du travail de boucher xD
ma table c'est "sscat" Message édité par newbi1 le 22-10-2012 à 19:56:05
|