Accueil > Forum > > > > deux listes liées
deux listes liées
samedi 6 juin 2009 à 14:00:16 |
deux listes liées

devmouad
|
Bonjour, je veux crée deux liste liées j'utilise un code ajax que j'ai trouvé dans un forum,mais j'arrive pas a le faire fonctioner, voici les deux listes dans le formulaire <tr> <td width="230">famille: <select name="typeproduit" id="typeproduit" onchange='go()'> <?php
$rs=mysql_query("SELECT DISTINCT desg from typeproduit"); while($ligne=mysql_fetch_array($rs)){ echo"<option>".$ligne['desg']."</option>";
}
?> </select></td> <td width="233">produit: <div id='produit' style='display:inline'>
</div></td> voici le script <script type='text/javascript'>
function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; }
/** * Méthode qui sera appelée sur le click du bouton */ function go(){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('produit').innerHTML = leselect; } }
// Ici on va voir comment faire du post xhr.open("POST","ajaxproduit.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments // ici, l'id de l'auteur sel = document.getElementById('typeproduit'); codeTypeP = sel.options[sel.selectedIndex].value; xhr.send("codeTypeP="+codeTypeP); } </script>
voici le fichier de réponse <?php echo'<select name="produit" id="produit">';
if(isset($_POST["codeTypeP"])){ $connection = mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("sbd_gestion_commerciale") or die(mysql_error());
$rs=mysql_query("SELECT DISTINCT nom from produit where codeTypeP='".$_POST["codeTypeP"]."'"); while($ligne=mysql_fetch_array($rs)){ echo"<option>".$ligne['nom']."</option>";
} }
echo'</select>'.'</td>'; ?> merci d'avance
|
|
samedi 6 juin 2009 à 14:26:53 |
Re : deux listes liées

Bul3
|
Bonjour, ben déjà, il me semble qu'il y a plusieurs id="produit" non ? <div id='produit' style='display:inline'> echo'<select name="produit" id="produit">'; [ sans parler des name, pour IE c'est pareil ! ] ensuite, il faut mieux cerner ton problème ! dans la réponse du php ? fais des alert, du pas à pas... des exemples de select liés ( ajax ou pas ) qui fonctionnent, il y en a des masses le mien ( si on peut dire, car c'est toujours pareil en fait ) Cordialement [ mon Site] [ M'écrire]  Bul
|
|
samedi 6 juin 2009 à 14:36:21 |
Re : deux listes liées

Bul3
|
en plus tu dois avoir des errurs "html" ! tu es déjà dans un td, pourquoie en rajouter dans la réponse du serveur ? par exemple : echo'</select>'.'</td>';
|
|
samedi 6 juin 2009 à 15:11:48 |
Re : deux listes liées

devmouad
|
tout d'abord bul3 merci pour ta réponse j'ai utilisé ton code mais malheureusement ma deuxième liste est encore vide voici le code que j'utilise <head> <script type="text/javascript"> function xmlhttp() { var x; try { x = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { x = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { x = new XMLHttpRequest(); } catch (e) { x=false; } } } return x; } function appel() { var xml = xmlhttp(); if(!xml) { alert("XmlHttpRequest non supporté"); } else { xml.onreadystatechange = function() { if(xml.readyState==4) { var opt=xml.responseText.split("\t"); tb2.length=0; for ( var n=1;n<opt.length;n++ ) { tb2.length++; tb2.options[tb2.length-1].text=opt[n]; } } } xml.open("GET", "Ajaxproduit.php?tbl2="+tb1.options[tb1.selectedIndex].text, true); xml.send(null); } } </script> voici le formulaire <tr> <td width="230">famille: <select name="tb1" id="tb1" onchange='appel();'> <option value='-1'>Aucun</option>
<?php $rs=mysql_query("SELECT DISTINCT desg from typeproduit"); while($ligne=mysql_fetch_array($rs)){ echo"<option value='".$ligne['codeTypeP']."'>".$ligne['desg']."</option>";
} ?> </select></td> <td width="233">produit: <select name="tb2" id="tb2"> </select></td>voici la réponse <?php header('Content-type:text/html;charset=ISO-8859-1'); $co=mysql_connect("localhost","root",""); $dbnom="produit"; $db=mysql_select_db($dbnom,$co); $rch="WHERE t2t1ind='".$_GET["tbl2"]."'"; $res=mysql_query("SELECT * FROM produit ".$rch,$co); $max=@mysql_num_rows($res); $t=""; for ($nb=0;$nb<$max;$nb++) { $i=mysql_result($res,$nb,"t2ind"); $t.="\t".$i; } echo $t; mysql_close($co); ?>merci d'avance 
|
|
samedi 6 juin 2009 à 15:21:39 |
Re : deux listes liées
|
samedi 6 juin 2009 à 15:42:36 |
Re : deux listes liées

Bul3
|
il doit aussi te falloir adapter les noms des champs de la bse de données : $rch="WHERE t2t1ind='".$_GET["tbl2"]."'"; la clé primaire est bien nommée t2t1ind ?
|
|
Cette discussion est classée dans : mysql, rs, post, xhr, codetypep
Répondre à ce message
Sujets en rapport avec ce message
xmlhttprequest et select [ par cseagle ]
Bonjour tout le monde, Suite à la source d'Antomicro pour son chat sur phpcs (http://www.phpcs.com/code.aspx?ID=32681) j'ai decidé d'essayer de tra
pb XMLHTTPRequest [ par LaTatadu91 ]
Bonjour a tous, voila je cherche a changer les valeurs de plusieurs input situés ds un tableau sans recharger la page sur un onchange de balise : ap
Compteur de click [ par piep14 ]
Bonjour, je souhaite faire un systeme de compteur de clique sur des liens vers d'autres sites !!!J'essai la technologie AJAX ! J'arrive a ceci mais ca
[AJAX] Plusieurs Champs mis à jour à partir d'un seul [ par Souboc ]
Bonjour, En m'inspirant d'un tuto, je souhaite mettre à jour plusieurs champs de formulaire en fonction du choix fait dans une dropdown. Voilà mon co
XMLHttpRequest probleme [ par hlimaiem ]
Limaiem heykelBonjour, j'ai un page php qui contient un tableau remplis depuis une base de donnees. Ma base et rempli a partir d'un programme en java
Probleme traitement de donnée d'un formulaire recuperer en ajax [ par ssabard ]
Bonjour j'ai un soucis je n'arrive pas a recuperer les values des select et input text remplit a l'aide d'ajax pour traiter un formualire.J'ai une lis
une seul variable post passe avec ajax ? [ par caviar ]
Saluté...j'ai un petit problème bizare avec une fonction ajaxen fait un seul des paramètres que je veux envoyer à mon script php passe apparamentsi le
Vérification de doublons [ par eddie5150 ]
Bonjour à tous,je viens de me lancer dans AJAX, mais je ne comprends pas encore tout très bien,aussi j'ai essayé d'effectuer une vérification automati
formulaire php, javascript et html [ par nicomilville ]
mysql_connect("localhost", "nicomilville", ""); // remplace 'pseudo' et 'passe' par le pseudo et le mo(t de passe que tu utilise pour te connecter a t
Problème formulaire [ par hourad ]
Bonjour à tous,J'ai un petit problème avec AJAX.Voilà, je l'utilise pour à chaque changement d'option dans une liste, ça change un formulaire en desso
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|