Remplir une liste déroulante a partir d'une autre

Résolu
elicec77 Messages postés 9 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2006 - 9 mars 2006 à 16:08
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009 - 23 avril 2010 à 10:02
je suis débutante en php, je souhaiterais qu'a la séléction dans la première liste la deuxième se remplisse automatiquement.
j'ai bien vu le source en ajax mais je pige rien. pouvez vous m'aider s'il vous plai?

14 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mars 2006 à 11:37
Hmm,

on ne s'énerve pas.
Bon, un exemple SIMPLE, et sans ajax donc :

<?php$aTab array (1> array ('test', 'pour', 'une', 'blonde'),
2 => array ('difficile', 'ca?', 'non...'),
3 => array ('très', 'facile', 'en', 'fait!'));
?>


<form method="post">
<select name="liste1" onchange="this.form.submit();">
<?php
foreach ($aTab as $clef => $dump) {
$selected=(isset($_POST['liste1']) && $_POST['liste1'] == $clef)?'selected="selected"':'';
echo '<option value="',$clef,'" ',$selected,'>',$clef,'</option>';
}
?>
</select>
<?php
if (isset ($_POST['liste1']) && !empty ($_POST['liste1'])) {
echo '<select name="liste2">';
foreach ($aTab[$_POST['liste1']] as $val) {
echo '<option value="',$val,'">',$val,'</option>';
}
echo '</select>';
}
?>
</form>
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 mars 2006 à 16:15
Hello,

tu sais, si avec un code complet le faisant, tu n'es arrivé à rien, je vois mal comment on va pouvoir t'aider...? Qu'attends-tu exactement avec ce post ?
0
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
10 mars 2006 à 10:38
j'ai trouvé un site qui explique très bien : )

http://siddh.developpez.com/articles/ajax/

voila tu regarde en bas et c'est niquel il te montre comment faire! :)

courage à toi!



--------------------
StimL.
0
elicec77 Messages postés 9 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2006
10 mars 2006 à 10:44
Je me suis mal exprimer, lorsque j'ai poster le message j'étais pressé!
j'ai essayer d'utiliser le codes "AFFICHER UNE LISTE DÉROULANTE EN FONCTION D'UNE AUTRE LISTE SANS RECHARGER LA PAGE OU PASSER L'INFORMATION PAR L'URL.", mais cela n'a pas fonctionné. je souhaiterais s'il est possible que l'on m'indique une methode en php (langeage que je comprend a peu pres) ou que l'on m'explique les scripts pour que je les adaptes a mon code.
Excuser moi encore de mon message un peu bête j'aurai du attendre un moment un peu plus posé pour poser ma question!!!
merci d'avance pour votre aide
0

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

Posez votre question
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
10 mars 2006 à 10:58
mon site ne répond pas à ta question ou ta pas été le voir?
car pour moi il répond à ta question... et à la mienne aussi lol! :)



--------------------
StimL.
0
elicec77 Messages postés 9 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2006
10 mars 2006 à 11:21
Excuser moi, je dois vraiment être stupide (ou alors c'est parceque je suis blonde), mais je ne comprend pas non plus excuse moi stiml!!!!
je vais me débrouillez toute seule, c pas grave, l'AJAX doit être une notion un peut trop évoluer pour une blonde!!! : )
désolé de vous avoir pris du temps pour rien!
0
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
10 mars 2006 à 11:37
ta trouvé ta solution?
Car moi je cherche un peu la même chose que toi mais sans réactualiser la page.
franchement ce qu'il y a sur le site ta juste à changer les termes avec ta base de donnée et ca marche! si tu sais pas changer les requêtes SQL là c'est sur tu vas avoir du mal mais je pense que tu sais le faire quand même.

si ta trouvé ta solution autrement qu'avec le site que je t'ai fourni merci de me poster le code car je cherche un peu la même chose que toi!



--------------------
StimL.
0
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
10 mars 2006 à 11:46
je ne suis pas blonde mais j'ai testé quand même ^^



--------------------
StimL.
0
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
10 mars 2006 à 11:47
le problème pour moi c'est que ça réactualise...



--------------------
StimL.
0
elicec77 Messages postés 9 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2006
10 mars 2006 à 11:49
Merci beaucoup!!! tu me sauve la vie et en plus je comprend... je dois pas etre si stupide que ca!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mars 2006 à 11:56
"le problème pour moi c'est que ça réactualise... "

Et après?

Enfin, pour faire plaisir à Stiml qui a découvert un nouveau joujou ;-) ... :

<script type="text/javascript">
if (window.XMLHttpRequest) {
oXmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
oXmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}


function search (clef) {
oXmlhttp.open('POST','<?php echo $_SERVER['PHP_SELF']; ?>');
oXmlhttp.onreadystatechange=function() {
if (oXmlhttp.readyState==4 && oXmlhttp.status == 200) {
document.body.innerHTML = oXmlhttp.responseText;
}
}
oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = 'liste1='+clef
oXmlhttp.send (data);
}


</script>
<?php$aTab array (1> array ('test', 'pour', 'une', 'blonde'),
2 => array ('difficile', 'ca?', 'non...'),
3 => array ('très', 'facile', 'en', 'fait!'));
?>


<form method="post">
<select name="liste1" onchange="search (this.value);">
<?php
foreach ($aTab as $clef => $dump) {
$selected=(isset($_POST['liste1']) && $_POST['liste1'] == $clef)?'selected="selected"':'';
echo '<option value="',$clef,'" ',$selected,'>',$clef,'</option>';
}
?>
</select>
<?php
if (isset ($_POST['liste1']) && !empty ($_POST['liste1'])) {
echo '<select name="liste2">';
foreach ($aTab[$_POST['liste1']] as $val) {
echo '<option value="',$val,'">',$val,'</option>';
}
echo '</select>';
}
?>
</form>
0
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
10 mars 2006 à 12:05
lol Merci c'est bon ca marche avec AJAX trop bien j'ai pas tout compris mais ca focntionne! :)



--------------------
StimL.
0
gharid Messages postés 2 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 23 avril 2010
22 avril 2010 à 22:28
si possible de crée le code exact???
0
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
23 avril 2010 à 10:02
Bonjour :)

J'ai pas vraiment compris ton message ^^
Mais je suis sur que tu peux réussir à le reformuler :)


--------------------
StimL.
0