Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
bonjour,
j'ai créé trois listes déroulantes. L'utilisateur sélectionne les données dans la première, puis lorsqu'il sélectionne quelque chose dans la deuxième, grâce à cette commande :onChange="location.href='nouveau_theme.php?Nom_Theme='+form.Theme.value;">
les valeurs de la troisième se mettent à jour ... sauf que du coup, il perd les données sélectionnées dans la première liste ainsi que L'ID qui était passé en paramètre à l'ouverture de la page PHP.
Peut-on passer en paramètre du OnChange plusieurs valeurs? Si oui comment fait-on?
Merci beaucoup
petorine
Hors ligne
Salut,
tu fais une redirection, vers la même page avec des paramètres dans la barre d'adresse. Il faut ajouter les paramètres qui t'intéressent
location.href='nouveau_theme.php?Nom_Theme='+form.Theme.value+'&mon_id=toto';
avec mon_id le nom qui correspond au nom de ta liste déroulante et toto qui corresond à la valeur choisie
Hors ligne
bonjour et merci pour cette réponse....
seulement j'ai un souci. Cela ne fonctionne pas. si je rajoute l'Id en paramètre, il ne prend plus en compte le ONCHANGE.
Je ne fais suremen pas ce qu'il faut !
Hors ligne
il y avait effectivement une erreur de syntaxe, mais j'ai tout de même un autre souci... Il ne reconnaît pas $id_autodiagnostic.
voici mon code.
Code:
<form id="fiche" name="fiche" action="EnregistrerTheme.php" method="POST">
<?php
if (isset($_GET["id"])){
$Id_autodiagnostic=$_GET["id"];
}
else
{
if (isset($_POST["id"])){
$Id_autodiagnostic=$_POST["id"];
}
}
$Id=$Id_autodiagnostic;
echo ' <tr><td align="Center"><p align="left"><font color="#A21E32" face="Arial" size="2"><b>Theme </b></font>';
?>
<select name="Theme" id="Theme" size="1" onChange="location.href='nouveau_theme.php?Nom_Theme='+form.Theme.value+'?id='+$Id_autodiagnostic;">
<?php
// Récupération des informations triées par ordre alphabétique
$sql2 = "select * from Theme ORDER BY Libelle";
$ReqLog2 = mysql_query($sql2);
while ($resultat2 = mysql_fetch_array($ReqLog2)) {
echo '<option value="'.$resultat2['Libelle'].'">'.$resultat2['Libelle'];
echo '</option>'."\n";
}
echo '</selected>';
echo '</td></tr>';
$Nom_Theme= @$_GET["Theme"];
echo '<td align="Center"><p align="left"><font color="#A21E32" face="Arial" size="2"><b>Processus </b></font>';
echo '<select name="Processus" size="1" >';
//tu utilises cette valeur pour ta requette qui va alimenter la liste 2
$sql3 = "select Processus from Theme WHERE Libelle ='". $Nom_Theme."'";
$Erreur = "<br>Erreur selection dans la table Theme<br>Requête : <b>".$sql3."</b><br>";
$ReqLog3 = mysql_query($sql3);
while ($resultat3 = mysql_fetch_array($ReqLog3)) {
echo $resultat3["Processus"];
echo '<option value="'.$resultat3['Processus'].'">'.$resultat3['Processus'];
echo '</option>'."\n";
}
echo '</selected>';
echo '</td></tr>';
?>
Que faut-il que je fasse pour qu'il le reconnaisse?
Merci encore pour votre aide trés précieuse.
Hors ligne
je n'ai pas vu où était utilisé la variable id_diagnostique (ou $id, ça a l'air d'être la même chose...) dans le reste du code. Pas étonnant du coup que ça n'ai pas l'air de fonctionner.
sinon, tu as un formulaire en mode post, et tu récupères la variable $Theme en GET, il y a aussi un problème là, je pense
Hors ligne