[AJAX] liste lié et affichage dynamique
bonjour a vous tous
je ne sais pas trop si je post au bon endroit car je ne sais si mon soucis est ajax ou php
cependant j ai essayer de crée une liste lier pour un catalogue de piece informatique avec l aide de mes cours car je debute
j ai reussi a crée mon select1 qui affiche dynamique les resultat trouver en dessous et en meme temps met a jours mon select2 avec les marque associer
un exemple http://www.sauvetage-informatique.eu/cat/bis/catiframe
cependant je me retrouvre bloquer pour afficher le trie des marque par mon select2
je sais pas si c est via mon ajax ou mon fichier php qu il manque quelque chose
je vous met mon code ajax qui gere lie mes select
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
<script type="text/javascript">
//FONCTION AJAX
function MAJ_marque(Nsouscategorie)
{
//declaration d'une variable
var xmlhttp;
//test si un code postale a été choisi
if (Nsouscategorie.length==0)
{
document.getElementById("liste_marques").innerHTML="";
return;
}
// test le type de navigateur pour créer l'objet adapté
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
// appel et exécution d'une fonction permettant la mise a jour dynamique
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//remplisage de la zone dynamique marque avec les resultats trouvés en base de données
document.getElementById("liste_marques").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","principal.php?num="+Nsouscategorie,true);
xmlhttp.send();
}
</script> |
ensuite mon code php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
if(isset($_GET['num']))
{
// si on reçois un parametre num c'est que on veux mettre a jour la liste des marques
//sélection des marques qui utilisent la categorie reçu en parametre num
$requete = "SELECT DISTINCT Nmarque FROM Nproduct
WHERE Nsouscategorie ='".$_GET['num']."'" ;
// execution de la requete et recuperation les resultats dans une variable
$resultats = mysql_query($requete) ;
//construire la chaine de marques a afficher
//commencement de la liste déroulante des marques
$res = " <select name=\"marque\" onchange=\"submit()\">";
$res=$res."<option value=>choisissez une marque</option>";
while($tempo = mysql_fetch_assoc($resultats) )
{
//répétition des marques trouvées
$res = $res ."<option value=".$tempo['N_ID'].">".$tempo['Nmarque']."</option>";
}
//fin de la liste déroulante
$res = $res ."</select>";
echo $res;
}
if(isset($_POST['CATEGORIE']))
{
//création un nouvel objet tbs
$tbs = new clsTinyButStrong;
//modèle html dynamique à utiliser
$tbs -> LoadTemplate("cat.html");
//création de la requete
$requete = "SELECT* ,round((Nnet_ttc * 1.396),2) as net FROM Nproduct
where Nsouscategorie='".$_POST['CATEGORIE']."'";
//execute la requete,recupere les resultats et fusionne avec le modele html
$tbs -> MergeBlock('blk',$connexion,$requete);
//affiche le fichier html
$tbs -> Show();
}
if(isset($_POST['marque']))
{
//création un nouvel objet tbs
$tbs = new clsTinyButStrong;
//modèle html dynamique à utiliser
$tbs -> LoadTemplate("cat.html");
$marque= $_POST['marque'];
//création de la requete
$requete = "SELECT* ,round((Nnet_ttc * 1.396),2) as net FROM Nproduct
where Nmarque='".$_POST['marque']."'";
echo ($marque);
//execute la requete,recupere les resultats et fusionne avec le modele html
$tbs -> MergeBlock('blk',$connexion,$requete);
//affiche le fichier html
$tbs -> Show();
} |
je souhaiterai pouvoir trier par marque ce que j affiche au select1
merci d avance a ceux qui pouront m aider