Combo <select> dynamique
Résolu
Maskk
Messages postés
89
Statut
Membre
-
Maskk Messages postés 89 Statut Membre -
Maskk Messages postés 89 Statut Membre -
Bonjour,
je cherche a créer une balise <select> ( c'est en php est c'est lié ama base de donnée), qui soit interactive... quand je choisis materiel dans mon select il faudrait qu'il me propose dans un autre select (imprimante, ecran, clavier...) .Je ne maitrise pas completement les scripts auriez vous une solution ? Merci:)
J'ai pas mal passé de temps dessus pourtant ...
https://www.clubic.com/forum/t/javascript-php-liste-deroulante-ect-bdd/183174
https://www.toutjavascript.com/savoir/xmlhttprequest.php3 voila cet exemple est un bon resultat ... cependant je suis trop confus pour le mettre en pratique ...
je cherche a créer une balise <select> ( c'est en php est c'est lié ama base de donnée), qui soit interactive... quand je choisis materiel dans mon select il faudrait qu'il me propose dans un autre select (imprimante, ecran, clavier...) .Je ne maitrise pas completement les scripts auriez vous une solution ? Merci:)
J'ai pas mal passé de temps dessus pourtant ...
https://www.clubic.com/forum/t/javascript-php-liste-deroulante-ect-bdd/183174
https://www.toutjavascript.com/savoir/xmlhttprequest.php3 voila cet exemple est un bon resultat ... cependant je suis trop confus pour le mettre en pratique ...
A voir également:
- Combo <select> dynamique
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Combo de clips story facebook - Guide
- Liste déroulante dynamique excel - Guide
- Sommaire dynamique word - Guide
3 réponses
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
Statut
Membre
2
merci de ton aide gigaga , pourrais tu me donner un exemple simple , ou un lien que je puisse avoir un appercu s'il te plait ?
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?
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 ...