Combo <select> dynamique
Résolu/Fermé
Maskk
Messages postés
89
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
23 décembre 2010
-
Modifié par Maskk le 31/08/2010 à 17:21
Maskk Messages postés 89 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 23 décembre 2010 - 2 sept. 2010 à 08:41
Maskk Messages postés 89 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 23 décembre 2010 - 2 sept. 2010 à 08:41
A voir également:
- Combo <select> dynamique
- Tableau croisé dynamique - Guide
- Liste déroulante dynamique excel - Guide
- Combo cleaner avis ✓ - Forum MacOS
- Ip dynamique free ✓ - Forum Réseaux sociaux
- Excel tableau croisé dynamique pourcentage entre 2 colonnes ✓ - Forum Excel
3 réponses
gigaga
Messages postés
2346
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
22 août 2014
301
31 août 2010 à 17:18
31 août 2010 à 17:18
L'idée est de déclencher une action sur l'élément onchange() de ton select.
sur le onchange, il faut relancer ton script php avec par exemple une variable materielSeleted contenant l'id du matériel sélectionné
sur le onchange, il faut relancer ton script php avec par exemple une variable materielSeleted contenant l'id du matériel sélectionné
Maskk
Messages postés
89
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
23 décembre 2010
2
1 sept. 2010 à 09:39
1 sept. 2010 à 09:39
j'ai tenté de recopier les codes du deuxieme lien linké ca me donne
<SCRIPT language="javascript">
var l1 = f.elements['list1'];
var l2 = f.elements['list2'];
var index = l1.selectedIndex;
if(index < 1)
l2.options.length = 0;
else {
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open('POST', 'species.php', true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4)
eval(xhr_object.responseText);
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = "family="+escape(l1.options[index].value)+"&form="+f.name+"&select=list2";
xhr_object.send(data);
}
</script>
</head>
<body>
<?php
//Connexion à la BDD
header('Content-type: text/html; charset=iso-8859-1');
INCLUDE ('./authentification/connexion.php');
$query = "SELECT Species FROM Animals WHERE Family = '".$_POST['family']."'";
$query .= " ORDER BY Species";
$result = odbc_do($connexion,$query);
echo 'var o = null;';
echo 'var s = document.forms["'.$_POST['form'].'"].elements["'.$_POST['select'].'"];';
echo 's.options.length = 0;';
while($r = odbc_fetch_array($result))
echo 's.options[s.options.length] = new Option("'.$r['Species'].'");';
odbc_close($result);
?>
Mais rien ne s'affiche ... j'ai oublié un truc enorme je pense mais comme le java est un peu du charabia pour moi c'est bp moins facile...me faudrait il creer un <select> est il deja compris dans ce code?
<SCRIPT language="javascript">
var l1 = f.elements['list1'];
var l2 = f.elements['list2'];
var index = l1.selectedIndex;
if(index < 1)
l2.options.length = 0;
else {
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open('POST', 'species.php', true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4)
eval(xhr_object.responseText);
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = "family="+escape(l1.options[index].value)+"&form="+f.name+"&select=list2";
xhr_object.send(data);
}
</script>
</head>
<body>
<?php
//Connexion à la BDD
header('Content-type: text/html; charset=iso-8859-1');
INCLUDE ('./authentification/connexion.php');
$query = "SELECT Species FROM Animals WHERE Family = '".$_POST['family']."'";
$query .= " ORDER BY Species";
$result = odbc_do($connexion,$query);
echo 'var o = null;';
echo 'var s = document.forms["'.$_POST['form'].'"].elements["'.$_POST['select'].'"];';
echo 's.options.length = 0;';
while($r = odbc_fetch_array($result))
echo 's.options[s.options.length] = new Option("'.$r['Species'].'");';
odbc_close($result);
?>
Mais rien ne s'affiche ... j'ai oublié un truc enorme je pense mais comme le java est un peu du charabia pour moi c'est bp moins facile...me faudrait il creer un <select> est il deja compris dans ce code?
Maskk
Messages postés
89
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
23 décembre 2010
2
1 sept. 2010 à 21:20
1 sept. 2010 à 21:20
bon j'ai trouvé la solution entierement php sur un tres bon post , je vous laisserais le lien , avec dans un petit moment une page.php pour connexion a la bdd via ODBC
Maskk
Messages postés
89
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
23 décembre 2010
2
2 sept. 2010 à 08:41
2 sept. 2010 à 08:41
Bonjour voila le lien en question
https://forum.phpfrance.com/tutoriels/formulaires-listes-deroulantes-dynamiques-liees-t4562.html
Pour bien comprendre j'ai repris le meme exemple des regions , j'ai testé la version entierement php de la personne est c'etait tout bon ...
https://forum.phpfrance.com/tutoriels/formulaires-listes-deroulantes-dynamiques-liees-t4562.html
Pour bien comprendre j'ai repris le meme exemple des regions , j'ai testé la version entierement php de la personne est c'etait tout bon ...
31 août 2010 à 21:07