Pb listes déroulantes mysql PHP javascript

Fermé
lundam Messages postés 4 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 15 décembre 2008 - 2 déc. 2008 à 15:19
lundam Messages postés 4 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 15 décembre 2008 - 13 déc. 2008 à 11:04
Bonjour papymucho

je me suis inspiré du code de papymucho mai j'ai un problème, aucune erreur d'exécution, mais juste que la deuxième liste ne s'affiche pas et donc ne me permet pas un choix lorsque la première est renseigné.

J'ai une première liste contenu dans une base de donnée concernant des catégories d'annuaire

Le premier fichier _inc_select_catannu.php

<select id="select_catannu" name="select_catannu" OnChange="show_form(this)">
<option value="void">Catégorie</option>
<?php
include("connect.php");
		$query = "SELECT id_catannu , catannu FROM wmi_categorie ORDER BY wmi_categorie . id_catannu ASC LIMIT 0, 100 ";
		$rq = mysql_query($query) or die(mysql_error());
		while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
		{
			$id_cat = $row["id_catannu"];
			$categorie = $row["catannu"];
			echo "<option value='$id_cat'>$categorie</option>";
		}
include("disconnect.php");
?>
</select>



puis un deuxième fichier pour la seconde liste (sous catégorie de l'annuaire)
Chaque catégorie donne accés à une liste de sous catégorie

_inc_select_souscatannu.php

<select id="select_souscat" name="select_souscat">
<option value="void">Sous catégorie</option>
<?php
include("connect.php");
		$var=$_POST['var'];
		$query = "SELECT id_souscatannu , catannu , sous_catannu FROM wmi_souscategorie WHERE catannu='$var' ORDER BY sous_catannu ASC LIMIT 0, 300 ";
		$rq = mysql_query($query) or die(mysql_error());
		while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
		{
			$id_souscat = $row["catannu"];
			$souscat = $row["sous_catannu"];
			
			echo ("<option value='$id_souscat'>$souscat</option>");
		}
include("disconnect.php");
?>
</select>



le code javascript inséré dans le <head> de ma page formulaire.

et enfin l'extrait de mon code html du fichier formulaire avec extention .php où
j'ai inséré : <script type="text/javascript" src="jquery.js"></script> entre </head> et <body>


......
....
..
function show_form(id_form)
{		
    get_url(id_form.value);
}
function get_url(test)
{
	var selected = document.getElementById("select_catannu").options[document.getElementById("select_catannu").selectedIndex].value;
	
	$.ajax
	(
		{
			type: "POST",
			url: "_inc_select_souscatannu.php",
			data: "var="+test,
			success: 
			function(msg)
			{
				$("#tr_test").append("<td class='title'><b>Sous catégorie</b></td><td>"+ msg +"</td>");
				if(selected=="void") $("#tr_test").hide();
				else $("#tr_test").show();
			}
		}
	);
}
</script></head>
<script type="text/javascript" src="jquery.js"></script>
<body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
  <div align="center"></div>
<p align="center">
<table width="500" border="0" align="center">
<p align="center">
</p><tr>
      <td><font face="Verdana" size="2">Nom</font></td>
      <td><input name="champ1" type="text"></td>
    </tr><tr>
      <td><font face="Verdana" size="2">Prénom</font></td>
      <td><input name="champ2" type="text"></td>
    </tr><tr>
      <td><font face="Verdana" size="2">Titre du site</font></td>
      <td><input name="champ3" type="text"> (50 caractères maximum)</td>
    </tr><tr>
      <td><font face="Verdana" size="2">URL du site</font></td>
      <td><input name="champ4" type="text"> (http:// obligatoire)</td>
    </tr><tr>
      <td><font face="Verdana" size="2">Catégorie</font></td>
      <td><?php include('_inc_select_catannu.php')?></td>
   </tr><tr id='tr_test'>
   </tr><tr>
      <td width><font face="Verdana" size="2">Votre Email</font></td>
      <td width><input name="zone_email" type="text"></td>
    </tr><tr>
      <td valign="top"><font face="Verdana" size="2">Description (255 caractères maximum)</font></td>
      <td><textarea name="zone_texte" cols="40" rows="10"></textarea></td>
    </tr><tr>
      <td valign="top">
        <input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="4">
        <input name="nbre_zone_listecat" type="hidden" id="nbre_zone_listecat" value="1">
        <input name="nbre_zone_listecat" type="hidden" id="nbre_zone_listesouscate" value="1">
        <input name="nbre_zones_texte" type="hidden" value="1">
	<input name="nbre_zone_email" type="hidden" value="1">
	<input name="titre_champ1" type="hidden" value="Nom">
	<input name="titre_champ2" type="hidden" value="Prénom">
	<input name="titre_champ3" type="hidden" value="Titre du site (50 caractères maximum)">
	<input name="titre_champ4" type="hidden" value="URL du site">
	<input name="categorie_url" type="hidden" value="Catégorie">
	<input name="souscate_url" type="hidden" value="Sous catégorie">
	<input name="titre_email" type="hidden" value="Votre Email">
	<input name="titre_zone" type="hidden" value="Description (255 caractères maximum)"></td>
      <td><div align="center">
<input type="reset" name="Reset" value="Effacer">          
<input type="submit" name="envoi" value="Envoyer">
        </div></td>
    </tr>
  </table>
  <div align="center"></div>
</form></body></html>




Ceci n'est qu'un extrait du code car il est assé long, j'ai des scripts de différentes vérifications et autres. L'ensemble du formulaire fonctionne correctement à l'exéption de la deuxième liste déroulante qui ne s'affiche pas après sélection dans la première.

Pourriez vous si possible m'aider à vérifier ce code, car après plusieurs essai infructueux, je ne vois pas le problème, il est vrai que je ne suis pas dévelopeur, mais je me débrouille et là j'en perd mon latin....

Merci pour votre aide
A voir également:

2 réponses

lundam Messages postés 4 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 15 décembre 2008
3 déc. 2008 à 17:15
Bon je vois que personne n'a d'idée, ou peut etre est ce un peut tot...
merci à tous ceux qui prendrons la peine de m'aider à résoudre mon problème et merci aussi au autre..
0
lundam Messages postés 4 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 15 décembre 2008
13 déc. 2008 à 11:04
Toujours personne pour m'aider?
en attendant je vais creuser un peu plus.

Merci quand même
0