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

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Trois listes liées ' région - dpt- ville '


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

Trois listes liées ' région - dpt- ville '

mercredi 16 mars 2011 à 13:27:39 | Trois listes liées ' région - dpt- ville '

noanis


Bonjour, en suivant le tutoriel disponible ici :

lien

je bloque sur la page html à créer pour faire le test concernant les 3 listes liées.
Voilà ce qui est préconisé, mais cela me semble incomplet.
Code HTML :
Région: 
<select id="region" name="region">
	<option value="-1">Régions</option>
	<option value="'.$region[$i]['region_id'].'">'.$region[$i]['region_name'].'</option>
</select>
 
';
 
echo '
 
<div id="champsDpt">
<label for="dpt">Département: </label>
<select id="dpt" name="dpt">
		<option value="-1">Choisir une région</option>
	</select></div>
 
 
<div id="champsVille">
 
	<label for="ville">Ville: </label>
<select id="ville" name="ville">
		<option value="-1">Choisir un département</option>
	</select></div>
 
 
';
?&gt;

mercredi 16 mars 2011 à 13:36:52 | Re : Trois listes liées ' région - dpt- ville '

noanis

le lien ne passe plus apparement
donc je décris

j'ai 6 fichiers.

class.mysql.php
Code PHP :
_config = parse_ini_file('../config/config.ini', true);
		//Affecte les variables selon l'environnment (production ou préproduction)
		$this-&gt;_host = $this-&gt;_config['mysql']['host'];
		$this-&gt;_user = $this-&gt;_config['mysql']['user'];
		$this-&gt;_password = $this-&gt;_config['mysql']['password'];
		$this-&gt;_database = $this-&gt;_config['mysql']['database'];
		//connexion au serveur avec PDO
		try {
			$this-&gt;_dbh = new PDO('mysql:host='.$this-&gt;_host.';dbname='.$this-&gt;_database,
			$this-&gt;_user, $this-&gt;_password);
		} catch (PDOException $e) {
			echo 'Erreur de connexion sur le serveur de préproduction: '.$e-&gt;getMessage().' ';
		}
	}
 
	/**
	* Permet de préparer un requête SQL
	*
	* @param string $req
	* @return stdClass
	*/
	public function prepare($req)
	{
		$sth = $this-&gt;_dbh-&gt;prepare($req);
		return $sth;
	}
}
?&gt;


class.france.php
Code PHP :
prepare('SELECT region_id, region_name
		FROM region');
 
		$prepare-&gt;execute();
		$regions = $prepare-&gt;fetchAll();
 
		return $regions;
	}
 
	/**
	* Méthode qui retourne les info d'une région selon son id
	*
	* @param int $id
	* @return array
	*/
	public function getRegionById($id)
	{
		$prepare = $this-&gt;prepare('SELECT region_id, region_name
		FROM region
		WHERE region_id = :id');
 
		$prepare-&gt;execute(array(':id' =&gt; $id));
		$region = $prepare-&gt;fetchAll();
 
		return $region;
	}
 
	/**
	* Méthode qui retourne la liste des départements d'une région
	*
	* @param int $id
	* @return array
	*/
	public function getDptByRegion($id)
	{
		$prepare = $this-&gt;prepare("SELECT dpt_id, dpt_name
		FROM departement
		WHERE region_id = :region_id");
 
		$prepare-&gt;execute(array(':region_id' =&gt; $id));
		$dpt = $prepare-&gt;fetchAll();
 
		return $dpt;
	}
 
	/**
	* Méthode qui retounre la liste des ville d'un département
	*
	* @param int $id
	* @return array
	*/
	public function getVilleByDpt($id)
	{
		$prepare = $this-&gt;prepare("SELECT ville_id, ville_name, ville_cp
		FROM ville
		WHERE dpt_id = ?");
 
		$prepare-&gt;execute(array($id));
		$villes = $prepare-&gt;fetchAll();
 
		return $villes;
	}
}
?&gt;


listeLiees.js
Code Javascript :
// JavaScript Document

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;
}
 
//Retourne la liste des départements d'une région
function getDpt(){
	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 &amp;amp;amp;  xhr.status == 200){
			leselect = xhr.responseText;
			// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById('champsDpt').innerHTML = leselect;
		}
	}
	// Ici on va voir comment faire du post
	xhr.open("POST","ajax.dpt.php",true);
	// ne pas oublier ça pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	sel = document.getElementById('region');
	idRegion = sel.options[sel.selectedIndex].value;
	xhr.send("idRegion="+idRegion);
}
 
//Retourne la liste des villes d'un département
function getVille(){
	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 &amp;amp;amp; xhr.status == 200){
			leselect = xhr.responseText;
			// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById('champsVille').innerHTML = leselect;
		}
	}
	xhr.open("POST","ajax.ville.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	sel = document.getElementById('dpt');
	idDpt = sel.options[sel.selectedIndex].value;
	xhr.send("idDpt="+idDpt);
}


ajax.dpt.php
Code PHP :
Département: ";
$listeDpt .= '
<select id="dpt" name="dpt"> <option value="'.$dpt[$i]['dpt_id'].'">'.$dpt[$i]['dpt_name'].'</option> </select> ";
 
echo mb_convert_encoding($listeDpt, "UTF-8", "ISO-8859-15");
?&gt;


ajax.ville.php
Code PHP :
Ville: ";
$listeVilles .= '
<select name="ville"> <option value="'.$villes[$i]['ville_id'].'">'.$villes[$i]['ville_name'].'('.$villes[$i]['ville_cp'].')</option> </select> ";
 
echo mb_convert_encoding($listeVilles, "UTF-8", "ISO-8859-15");
?&gt;


le fichier config.ini


Cette discussion est classée dans : listes, ville, liées, région, fr


Répondre à ce message

Sujets en rapport avec ce message

listes déroulantes liées en php [ par ludovic31000 ] J'ai un petit problème!!!Je voudrais créer des listes déroulantes liées les unes aux autres en récupérants les informations dans une base de données.. Listes déroulantes liées (requêtes sql + php) [ par orelien ] Bonjour,J'aimerais relier deux listes déroulantes remplies par une base de données. La première correspond à la table "rubriques" et l'autre à la tabl listes déroulantes liées avec champs d'une MEME table [ par vir76 ] Bonjour tout le monde,Je désèspère car je n'arrive toujours pas à lier mes 2 listes déroulantes comportant des champs de la même table.Donc, j'ai un s ecriture fichier de listes liées [ par corsamobile ] bonjour à tous,je viens de créer pour mon site internet une page avec des listes liées dont toutes les données se trouve dans une BDD, maintenant j'ai deux liste imbriqué et non pas liées [ par sanayounes ] svp cé urgent je veut savoir comment dévelopée une liste déroulante dynamique dont elle contient des champs dans les queles ils sont des listes cad lo 3 Listes liées [ par cool27 ] Bonsoir à tous!J'ai besoin de créer 3 listes liées dans un formulaire avec Ajax. Le problème c'est que je ne connaît pas Ajax et que je suis pressé pa Problème avec listes liées AJAX [ par Vins974 ] Bonjour ,J'ai un problème.. Je crée un site internet, et j'ai utilisé AJAX. Pour pouvoir effectuer trois listes liées.. Elles sont donc chacune dépend listes déroulantes liées [ par mickael56100 ] J'aimerais réalisé en ajax un script permettant l'utilsation de liste déroulante liées, c'est à dire des listes déroulantes dont le contenu dépend de [clos] 3 liste deroulante liées PHP/MYSQL/AJAX [ par zied86 ] Bonjour; j'ai un probleme avec les listes deroulantes liées j'ai trois table (tab1, tab2, tab3) tab1 contient un ou plusieurs tab2 tab1 contient u Listes déroulantes [ par Guy72 ] Bonjour, Sur mon site, je cherche à faire une liste déroulante, j'ai bien un modèle qui me plairais, mais ça ne fonctionne pas. Voilà ce que cela donn


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,655 sec (3)

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