anil16
Messages postés47Date d'inscriptionvendredi 15 février 2008StatutMembreDernière intervention15 février 2010
-
16 mai 2008 à 17:52
anil16
Messages postés47Date d'inscriptionvendredi 15 février 2008StatutMembreDernière intervention15 février 2010
-
16 mai 2008 à 20:58
Salut,
j'ai trouver le code source Chaîner 3 listes déroulantes en AJAHT [ http://www.phpcs.com/codes/CHAINER-LISTES-DEROULANTES-AJAHT_39194.aspx#comments 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.
anil16
Messages postés47Date d'inscriptionvendredi 15 février 2008StatutMembreDernière intervention15 février 2010 16 mai 2008 à 19:24
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.
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 16 mai 2008 à 19:42
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 !
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 16 mai 2008 à 20:39
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 !
anil16
Messages postés47Date d'inscriptionvendredi 15 février 2008StatutMembreDernière intervention15 février 2010 16 mai 2008 à 20:55
ç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>
anil16
Messages postés47Date d'inscriptionvendredi 15 février 2008StatutMembreDernière intervention15 février 2010 16 mai 2008 à 20:58
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
<?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>';
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>';