Bonjour,

J'utilise un script Javascript pour lier deux listes d�roulantes entre via une BD. Il marche tr�s bien, mais la � l'�x�cution sous Internet Explorer il m'indique des lignes � debugguer. J'ai regarde la ligne avec Afficher la source, mais je ne comprends pas trop o� est l'erreur.

Juste en dessous de la premi�re erreur ligne 93 : Constante chaine non termin�e
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
Undefined offset:  1 in <b>c:\program files\easyphp1-8\www\nom_ent.php</b> on line <b>50</b><br />
";
Voici mon script avec les lignes 50 (et 56) en rouge :
<SCRIPT LANGUAGE="JavaScript">
/*Cette fonction permet d'afficher 2 listes li�es l'une � l'autre par une requ�te Mysql
La 2�me liste est mise � jour selon ce qui a �t� s�lectionn� dans la 1�re*/
function AffListe2(code)
{
//nb d'�l�ments de la 2�me liste
lg = document.entreprise.nom_ent.length;
for (i = lg - 1; i >= 0; i--)
{
//au d�part tous les �l�ments de la 2�me liste sont vides
document.entreprise.nom_ent.options[i] = null;
}

<?php
//S�lection dans la table SITES
$sql1 = "SELECT DISTINCT categorie FROM utilisateurs WHERE categorie='Partenaire' OR categorie='Adh�rent'";
$resultat = mysql_query($sql1);
//initialisation des variables
$option_max= "" ;
$max_lignes = 0 ;


//Tant que la s�lection dans SITES ram�ne des tuples
while ($enr = mysql_fetch_array($resultat))
{
//On recherche les �l�ments de SERVICES ayant pour "m�re" un enregistrement dans SITES
$sql="SELECT login FROM utilisateurs WHERE categorie='".$enr[0]."' ORDER BY login";
//$enr[0]=CodeSite de la 1�re requ�te*/

$resultat2 = mysql_query($sql); //resultat correspondant au site choisi

echo " if (document.entreprise.situation.value == '";
echo $enr[0]."') {\n";
echo " document.entreprise.nom_ent.length = ";
echo (mysql_num_rows($resultat2)).";\n";
//la longueur de la liste des services=nb de lignes retourn�es par le select
$cpt = 0; //on met un compteur � 0
echo " document.entreprise.nom_ent.options[".$cpt."].value = '';\n";
//texte affich� dans la liste = LibelleService (enr2[1])
echo " document.entreprise.nom_ent.options[".$cpt."].text = \"Aucun\";\n";
$cpt++;

while ($enr2 = mysql_fetch_array($resultat2)) //tant qu'il y a des lignes retourn�es par la requ�te de s�lection des services
{
//valeur de l'option dans la liste = CodeService (enr2[0])
echo " document.entreprise.nom_ent.options[".$cpt."].value = '";
echo $enr2[0]."';\n";
//texte affich� dans la liste = LibelleService (enr2[1])
echo " document.entreprise.nom_ent.options[".$cpt."].text = \"";
echo $enr2[1]."\";\n";

echo " if (code == '".$enr2[0]."') document.forms[1].nom_ent.options[";
echo $cpt."].selected = true;\n";
$cpt++;
if ($cpt > $max_lignes) $max_lignes = $cpt;
if (strlen($enr2[1]) > strlen($option_max)) $option_max = $enr2[1];
}
echo " }\n"; //fin du if (document.forms[0].lstsite.value == 'enr')
}//fin du while $enr
?>
}
</SCRIPT>
Au cas ou je vous mets la partie du formulaire qui devrait �tre g�rer par le script
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form name="entreprise" method="post" onSubmit="return verif_entreprise()" action="">
 
<?	
	  if ($rech_cat) 
      { 
         echo ("<select name=\"situation\" onChange='AffListe2(-1)'> <br/>") ; 
		 echo ("<option value=''>Situation</option>");
         while ($tab=mysql_fetch_object($rech_cat)) 
         { 
            echo ("<option value=".$tab->categorie.">".$tab->categorie."</option>"); 
         } 
         echo ("</select><br/>"); 
         mysql_free_result($rech_cat); 
      }
?>
		Nom<br/>
		<select name="nom_ent" >
			<option value=''>Listes des noms</option>
		</select>
Merci pour votre aide