Liste déroulantes dynamiques

Fermé
willow - 19 févr. 2003 à 11:39
 willow - 21 févr. 2003 à 12:03
salut,

j'ai essayer de faire un programme pour faire des listes déroulantes dynamiques (avec php et
javascript), mais je ne vois pas les erreurs. en
fait, quand on clique sur la premiere liste déroulante, des nom devraient apparaitre dans la 2eme,
mais ce n'est pas le cas !!

voila le bout de javascript :
<script language = "JavaScript"><!--
liste=new Array()
liste[0]=new Array("aucun","")
<?
while ($val = mysql_fetch_array($result1))
{
$sql2 = "SELECT nomdestinataire FROM destinataire WHERE refnoservice = ";
$sql2 .= $val["noservice"];
$result2 = mysql_query($sql2);
?> liste[<?echo $val["noservice"];?>] = new Array(<?
while ($val2 = mysql_fetch_array($result2))
echo "\"".$val2["nomdestinataire"]."\",";
?>"")
<? }
?>
function changeliste() {
choix = document.monform.listeService.value;
t = "<select name = 'listeNom'>"
for (i=0; i<liste[choix].length-1;1++)
t+= "<option>"+liste[choix][i]+"</option>"
document.monform.listeNom.outerHTML=t+"</select>"
}
//-->
</script>
et le php qui appel cette fonction
<select name="listeService" OnChange=changeliste()>
<option value=0>Choisir un service</option>
<?
mysql_data_seek($result1, 0);
while ($val = mysql_fetch_array($result1)) {
?>
<option value = <? echo $val["noservice"];?> >
<? echo $val["libservice"];?>
</option>
<? }
mysql_close();
?>
</select>


j'ai fait afficher la source de ce script par mon navigateur et il me marque qu'il ya une erreur :

ça c'est la source du navigateur ....

<head>
<title>Page Administrateur</title>
<script language = "JavaScript"><!--
liste=new Array()
liste[0]=new Array("aucun","")
<br>
<b>Warning</b>: Supplied argument is not a valid MySQL result resource in <b>c:\program
files\easyphp\www\suivi courrier\page_admin.php</b> on line <b>17</b><br>
function changeliste() {
choix = document.monform.listeService.value;
t = "<select name = 'listeNom'>"
for (i=0; i<liste[choix].length-1;1++)
t+= "<option>"+liste[choix][i]+"</option>"
document.monform.listeNom.outerHTML=t+"</select>"
}
//-->
</script>


et la ligne 17 de mon script c'est celle là :
while ($val = mysql_fetch_array($result))
elle est dans la javascript !
apparement, c'est le php qui ne marche pas, mais pourquoi ?

j'éspere que vous pourrez m'aider !!
A voir également:

28 réponses

et pourquoi chez moi ça marche pas ? c'est à cause d'internet explorer ou de easy php ??
ça vien peut etre de mon code ???
0
et c'est quoi la différence entre les dux ? qu'est ce qu'ils font ??
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
21 févr. 2003 à 11:31
Aucune idée...
0
pourquoi est ce que ché toi ça marche et pas ché moi ??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
21 févr. 2003 à 11:38
la différence entre innerHTML et outerHTML est que l'un est à l'INTERIEUR de la balise :

<balise>"LE CONTENU ICI"</balise>

et outerHTML comprend les balises en plus :

"<BALISE ATTRIBUT='MEME CECI EST DANS OUTER'>ICI ENCORE</BALISE>"

J'ai mis ce que les propriétés représentaient entre guillements.
0
pourquoi ce script marche ché toi et pas ché moi ??
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
21 févr. 2003 à 11:52
Deux solutions, soit je suis un être supérieur, (j'ai un petit doute là dessus), soit c'est autre chose, une erreur PHP ou JavaScript, mais toi seul peut le dire en fonction de se que t'affiches la page.

A priori ça doit être une erreur JavaScript et cela peut varier selon les navigateurs que tu utilises...

Voilà, vu que je pars je ne pourrais pas t'aider plus.
0
mais j'ai fait tout ce que tu m'as dit et ça ne marche tjs pas ... j'ai changé le javascript et j'ai mis le tien !!! ce qu'il ya c'est que la premiere liste s'affiche bien mais pas la 2eme !!
0