Combo <select> dynamique

Résolu
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 ...

A voir également:

3 réponses

gigaga Messages postés 2347 Date d'inscription   Statut Membre Dernière intervention   301
 
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é
0
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 ?
0
Maskk Messages postés 89 Statut Membre 2
 
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?
0
Maskk Messages postés 89 Statut Membre 2
 
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
0
Maskk Messages postés 89 Statut Membre 2
 
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 ...
0