Accueil > Forum > > > > Chaîner 3 listes déroulantes en AJAHT
Chaîner 3 listes déroulantes en AJAHT
vendredi 16 mai 2008 à 17:52:32 |
Chaîner 3 listes déroulantes en AJAHT

anil16
|
Salut,  j'ai trouver le code source Chaîner 3 listes déroulantes en AJAHT ici,mais je n'arrive pas à l'adapter à mes besoin, je connais le PHP mais je suis nulle en javascript et ajax. Dites moi SVP comment je dois faire, qu'est ce que je dois modifier. en fait je n'ai modifié que les requêtes et la connexion à la base de données, pour le script qui contient AJAHT j'l'ai pas modifié , donc je n'ai pas touché au fichier ListeCP.php,et ça n'a pas marché! Merci de votre aide.
|
|
vendredi 16 mai 2008 à 18:28:01 |
Re : Chaîner 3 listes déroulantes en AJAHT

nicomilville
|
Salut, Je craint que sans un bout de code (la partie qui pose problème, le strict nécessaire pas un code de 50 ligne) il nous soit impossible de t'aider !!! Et il faudrai aussi nous mettre un peut plus de détail sur ton problème ! a++ Si t'a besoin d'aide, MP !!! Un forum...

|
|
vendredi 16 mai 2008 à 19:24:04 |
Re : Chaîner 3 listes déroulantes en AJAHT

anil16
|
En fait, j'ai une base de données véhicule qui contient les tables suivantes: genre, type et modèle, et fiche-technique. je veux réaliser trois listes déroulantes, de tel sorte que la première contient les données issu de la table genre, la 2ème de la table type, et la 3ème de la table modèle. En faisant un choix dans la liste genre les types s'affiche et en choisissant un type les modèles s'affiche,et on choisissant également un modèle, un bouton s'affiche. en cliquant dessus la fiche technique de la voiture du modèle X du type Y et du genre Z s'affiche. pour le code il dépasse 50 ligne  je l'ai eu de ce site,et j'ai voulu l'adapter à mes données. j'ai pas réussi à le modifier. je veux savoir est ce que je dois modifier le script ListeCP.php qui contient du code javascript (parce que celui ci je l'ai pas modifié) il se trouve ici
Merci. 
|
|
vendredi 16 mai 2008 à 19:42:06 |
Re : Chaîner 3 listes déroulantes en AJAHT

nicomilville
|
Re, ba il te suffit de vérifier si ça marche sans que tu le vérifie, si c'est pas marqué qu'il faut le modifier ça veut dire qu'il faut pas que tu y touche ! a++ Si t'a besoin d'aide, MP !!! Un forum...

|
|
vendredi 16 mai 2008 à 20:26:32 |
Re : Chaîner 3 listes déroulantes en AJAHT

anil16
|
justement je ne sais pas s'il faut le modifier , y a rien qui est marqué.  est ce que t'as une idée sur un script de ce genre?
|
|
vendredi 16 mai 2008 à 20:39:39 |
Re : Chaîner 3 listes déroulantes en AJAHT

nicomilville
|
je ne comprend pas, met le script en ligne et si il marche ça veut dire qu'il faut pas y touché sinon il faut regardé, j'ai un peut regardé (pas atentivement) et je pense a première vu qu'il ne faut pas y touché sinon peut être qu'il faut rajouter les id des liste mais il n'y a rien de sur ! a++ Si t'a besoin d'aide, MP !!! Un forum...

|
|
vendredi 16 mai 2008 à 20:53:53 |
Re : Chaîner 3 listes déroulantes en AJAHT
|
vendredi 16 mai 2008 à 20:55:49 |
Re : Chaîner 3 listes déroulantes en AJAHT

anil16
|
ça c'est le script que j'ai pas modifier
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Listes déroulantes pilotées par JavaScript Asynchrone et une Base de données</title>
<script type="text/javascript">
var Ld1Id='';
var Ld2Id='';
var id_liste='';
function ValideLd2(val) {
Ld1Id=val; //id_département
id_liste='2';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd2.php?Ld1='+Ld1Id;
ObjetXHR(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld2Id!='') {ValideLd3(''); }
}
function ValideLd3(val) {
Ld2Id=val; //id_commune
id_liste='3'; //Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd3.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id;
if (Ld2Id=='') {var LD_URL = 'ValideLd3.php';}
ObjetXHR(LD_URL)
}
function ObjetXHR(LD_URL) {
//creation de l'objet XMLHttpRequest
if (window.XMLHttpRequest) { // Mozilla,...
xmlhttp=new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
xmlhttp.onreadystatechange=ChargeLd;
xmlhttp.open("GET", LD_URL, true);
xmlhttp.send(null);
} else if (window.ActiveXObject) { //IE
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
if (xmlhttp) {
xmlhttp.onreadystatechange=ChargeLd;
xmlhttp.open('GET', LD_URL, false);
xmlhttp.send();
}
}
// Bouton non apparent car modification de LD1 ou Ld2
document.getElementById('buttons').style.display='none';
}
// fonction pour manipuler l'appel asynchrone
function ChargeLd() {
if (xmlhttp.readyState==4) {
if (xmlhttp.status==200) {
//span id="niv2" ou "niv3"
document.getElementById('niv'+id_liste).innerHTML=xmlhttp.responseText;
if (xmlhttp.responseText.indexOf('disabled')<=0) {
//focus sur liste déroulante 2 ou 3
document.getElementById('Liste'+id_liste).focus();
}
}
}
}
function Affiche_Btn() {
document.getElementById('buttons').style.display='inline';
}
</script>
<style>
#buttons {
display: none;
}
</style>
</head>
<body>
<noscript>
<p>Cette page nécessite que JavaScript soit activé; dans votre navigateur
</noscript>
<div id="Les3LD">
<p>Selectionnez votre choix dans les listes déroulantes:</p>
<form method="get" action="ListeCP.php">
<?
include 'ValideLd1.php'; ?> <!--Pour remplir la liste déroulante 1-->
<span id="niv2">
<? include 'ValideLd2.php'; ?></span> <!--Pour remplir la liste déroulante 2-->
<span id="niv3">
<? include 'ValideLd3.php'; ?></span> <!--Pour remplir la liste déroulante 3-->
<span id="buttons">
<input type="submit" value="Valider">
</span>
</form>
</div>
</body>
</html>
|
|
vendredi 16 mai 2008 à 20:58:41 |
Re : Chaîner 3 listes déroulantes en AJAHT

anil16
|
j'ai modifier les scripts suivant:
ValidLd1.php
<?PHP
include 'Connexionbd.php';
$rq="Select id_g,nom_g from genre order by nom_g;";
$rq_pos_id=0; //position dans le SQL de la clé de la liste déroulante idem dans ValideLd2.php et ValideLd3.php
$rq_pos_val=1; //position dans le SQL de la valeur de la liste déroulante idem dans ValideLd2.php et ValideLd3.php
$result= mysql_query ($rq) or die ("Select impossible");
$retour = '<select name="Liste1" id="Liste1" size="1" onchange="ValideLd2(this[this.selectedIndex].value);">';
$retour .= '<option selected value="">Choisir...</option>';
if (mysql_num_rows($result) != 0) {
while ($row = mysql_fetch_row($result)) {
$retour .= '<option value="'. $row[$rq_pos_id] .'">'. $row[$rq_pos_val] .'</option>';
}
$retour .= '</select>';
} else {
$retour = '<input id="size" type="text" size="10" value="Aucune valeur" disabled>';
}
mysql_free_result($result);
mysql_close($connexion);
echo $retour
?>
ValidLd2.php
<?PHP
include 'Connexionbd.php';
$Ld1_retour =''; //id_département clé de la liste déroulante 1
if (isset($_GET['Ld1'])) {$Ld1_retour = $_GET['Ld1'];}
if ($Ld1_retour!='') {
$rq="Select id_t, nom_t from type where genre=".$Ld1_retour." order by nom_t;";
$rq_pos_id=0;
$rq_pos_val=1;
$result= mysql_query ($rq) or die ("Select impossible");
$retour = '<select name="Liste2" id="Liste2" size="1" onchange="ValideLd3(this[this.selectedIndex].value);">';
$retour .= '<option selected value="">Choisir...</option>';
if (mysql_num_rows($result) != 0) {
while ($row = mysql_fetch_row($result)) {
$retour .= '<option value="'. $row[$rq_pos_id] .'">'. $row[$rq_pos_val] .'</option>';
}
$retour .= '</select>';
} else {
$retour = '<input id="Liste2" type="text" size="10" value="Aucune valeur" disabled>';
}
mysql_free_result($result);
mysql_close($connexion);
}else{
$retour = '<select name="Liste2" id="Liste2" size="1" disabled><option>Aucune valeur</option></select>';
}
echo $retour
?>
ValidLd3.php
<?PHP
include 'Connexionbd.php';
$Ld1_retour =''; //id_département clé de la liste déroulante 1
$Ld2_retour =''; //id_commune clé de la liste déroulante 2
if (isset($_GET['Ld1'])) {$Ld1_retour = $_GET['Ld1'];}
if (isset($_GET['Ld2'])) {$Ld2_retour = $_GET['Ld2'];}
if (($Ld1_retour!='')&&($Ld2_retour!='')) {
$rq="Select nom_m from modele where type=".$Ld2_retour." order by nom_m;";
$rq_pos_id=0;
$rq_pos_val=0;
$result= mysql_query ($rq) or die ("Select impossible");
$retour = '<select name="Liste3" id="Liste3" size="1" onchange="Affiche_Btn();">';
$retour .= '<option selected value="">Choisir...</option>';
if (mysql_num_rows($result) != 0) {
while ($row = mysql_fetch_row($result)) {
$retour .= '<option value="'. $row[$rq_pos_id] .'">'. $row[$rq_pos_val] .'</option>';
}
$retour .= '</select>';
} else {
$retour = '<input id="Liste3" type="text" size="10" value="Aucune valeur" disabled>';
}
mysql_free_result($result);
mysql_close($connexion);
}else{
$retour = '<select name="Liste3" id="Liste3" size="1" disabled><option>Aucune valeur</option></select>';
}
echo $retour
?>
mais ça n'a pas marché, donc il faut peut être modifier le script précédent, mais je ne sais pas comment? je connais pas javascript!
|
|
Cette discussion est classée dans : php, listes, déroulantes, ajaht, chaîner
Répondre à ce message
Sujets en rapport avec ce message
controler des listes déroulantes en PHP [ par animallecter ]
Tout est quasiment dans le titre mais je vais expliquer 1 peu plus:J'ai 2 listes déroulantes qui se suivent et la deuxième doit dépendre de l'autre, d
Access et listes déroulantes [ par g_Verlaine ]
J'ai visité des milliers de sites et essayé autant de scripts mais, débutant, kkchose doit m'échapper.Je veux simplement remplir une liste déroulante
Intéraction listes déroulantes dynamiques [ par orelien ]
Bonjour,J'ai deux listes déroulantes remplies par une base de données.J'aimerais que la sélection de la première liste mette à jour la deuxième tout e
listes déroulantes liées [ par jenjen ]
bonjour, je souhaite lier 2 listes déroulantes, ma première liste contient le nom de certaines tables que j'ai extrait de ma base de données et la sec
Listes déroulantes dépendantes [ par TiCha ]
Salut!J'ai un petit problème !Je travaille avec MySql. J'ai une liste déroulante qui affiche le noms des enseignants grâce à une requête du type : sel
Listes déroulantes dépendantes [ par TiCha ]
Salut!J'ai un petit problème !Je travaille avec MySql. J'ai une liste déroulante qui affiche le noms des enseignants grâce à une requête du type : sel
listes déroulantes liées et en plus... [ par lsteamgeo ]
Je cherche des personnes qui pourrai m'aider pour faire un script php/mysql. 2 listes déroulante lié avec à la sélection d'un item > affichage d'une i
listes déroulantes requetes [ par didou8513 ]
Bonjour, je dois réaliser une application web en php avec une base oracle. L'utlisateur doit pouvoir accéder aux données afin de les mettre à jour. Po
relation avec 2 listes déroulantes [ par ManuAntibes ]
Salut j'ai cette erreur Parse error: parse error, unexpected T_STRING in /var/www/free.fr/f/c/www.vivanda/Acces_clients/messagerie.php on line 32sur
Résultats dans une case grisée selon la sélection de plusieurs Listes déroulantes... [ par Osmose34 ]
Bonjour à tous,Une question très urgente se pose à moi..J'ai un formulaire, plusieurs Listes déroulantes, avec, entre autres, des produits avec leur t
Livres en rapport
|
Derniers Blogs
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 SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani
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
|