Remplir une liste déroulante a partir d'une autre [Résolu]

elicec77 9 Messages postés mardi 29 mars 2005Date d'inscription 10 mars 2006 Dernière intervention - 9 mars 2006 à 16:08 - Dernière réponse : stiml 132 Messages postés mardi 21 juin 2005Date d'inscription 18 juin 2009 Dernière intervention
- 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?
Afficher la suite 

14 réponses

Répondre au sujet
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 10 mars 2006 à 11:37
+3
Utile
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>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 9 mars 2006 à 16:15
0
Utile
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 ?
Commenter la réponse de malalam
stiml 132 Messages postés mardi 21 juin 2005Date d'inscription 18 juin 2009 Dernière intervention - 10 mars 2006 à 10:38
0
Utile
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.
Commenter la réponse de stiml
elicec77 9 Messages postés mardi 29 mars 2005Date d'inscription 10 mars 2006 Dernière intervention - 10 mars 2006 à 10:44
0
Utile
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
Commenter la réponse de elicec77
stiml 132 Messages postés mardi 21 juin 2005Date d'inscription 18 juin 2009 Dernière intervention - 10 mars 2006 à 10:58
0
Utile
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.
Commenter la réponse de stiml
elicec77 9 Messages postés mardi 29 mars 2005Date d'inscription 10 mars 2006 Dernière intervention - 10 mars 2006 à 11:21
0
Utile
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!
Commenter la réponse de elicec77
stiml 132 Messages postés mardi 21 juin 2005Date d'inscription 18 juin 2009 Dernière intervention - 10 mars 2006 à 11:37
0
Utile
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.
Commenter la réponse de stiml
stiml 132 Messages postés mardi 21 juin 2005Date d'inscription 18 juin 2009 Dernière intervention - 10 mars 2006 à 11:46
0
Utile
je ne suis pas blonde mais j'ai testé quand même ^^



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



--------------------
StimL.
Commenter la réponse de stiml
elicec77 9 Messages postés mardi 29 mars 2005Date d'inscription 10 mars 2006 Dernière intervention - 10 mars 2006 à 11:49
0
Utile
Merci beaucoup!!! tu me sauve la vie et en plus je comprend... je dois pas etre si stupide que ca!
Commenter la réponse de elicec77
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 10 mars 2006 à 11:56
0
Utile
"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>
Commenter la réponse de malalam
stiml 132 Messages postés mardi 21 juin 2005Date d'inscription 18 juin 2009 Dernière intervention - 10 mars 2006 à 12:05
0
Utile
lol Merci c'est bon ca marche avec AJAX trop bien j'ai pas tout compris mais ca focntionne! :)



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

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


--------------------
StimL.
Commenter la réponse de stiml

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.