begin process at 2012 05 28 23:30:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Chaîner 3 listes déroulantes en AJAHT


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Membre Club
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

Membre Club
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

Membre Club
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&eacute;roulantes:</p>
  <form method="get" action="ListeCP.php">
    <?
    include 'ValideLd1.php'; ?>&nbsp; <!--Pour remplir la liste déroulante 1-->
    <span id="niv2">
    <? include 'ValideLd2.php'; ?></span>&nbsp; <!--Pour remplir la liste déroulante 2-->
    <span id="niv3">
    <? include 'ValideLd3.php'; ?></span>&nbsp; <!--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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales