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

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

Votre réponse

14 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 10 mars 2006 à 11:37
3
Merci
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>

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 9 mars 2006 à 16:15
0
Merci
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
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Dernière intervention
18 juin 2009
- 10 mars 2006 à 10:38
0
Merci
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
Messages postés
9
Date d'inscription
mardi 29 mars 2005
Dernière intervention
10 mars 2006
- 10 mars 2006 à 10:44
0
Merci
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
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Dernière intervention
18 juin 2009
- 10 mars 2006 à 10:58
0
Merci
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
Messages postés
9
Date d'inscription
mardi 29 mars 2005
Dernière intervention
10 mars 2006
- 10 mars 2006 à 11:21
0
Merci
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
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Dernière intervention
18 juin 2009
- 10 mars 2006 à 11:37
0
Merci
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
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Dernière intervention
18 juin 2009
- 10 mars 2006 à 11:46
0
Merci
je ne suis pas blonde mais j'ai testé quand même ^^



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



--------------------
StimL.
Commenter la réponse de stiml
Messages postés
9
Date d'inscription
mardi 29 mars 2005
Dernière intervention
10 mars 2006
- 10 mars 2006 à 11:49
0
Merci
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
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 10 mars 2006 à 11:56
0
Merci
"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
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Dernière intervention
18 juin 2009
- 10 mars 2006 à 12:05
0
Merci
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
Messages postés
2
Date d'inscription
mardi 9 février 2010
Dernière intervention
23 avril 2010
- 22 avril 2010 à 22:28
0
Merci
si possible de crée le code exact???
Commenter la réponse de gharid
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Dernière intervention
18 juin 2009
- 23 avril 2010 à 10:02
0
Merci
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.