begin process at 2012 05 30 15:24:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Liste imbriquant 2 tables ?


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

Liste imbriquant 2 tables ?

vendredi 17 septembre 2010 à 21:03:18 | Liste imbriquant 2 tables ?

bakalai

Bonsoir,

Je souhaites dans une page php mettre 2 choix via 2 listes.
La seconde liste sera différente en fonction du choix effectué dans la première liste.
Le contenu de chaque liste fait parti d'une table différente dans une base phpmyadmin.

Le premier choix: c'est une liste de région ( nord,nord est,nord ouest,sud,sud est,sud ouest,dom,tom
Le second choix est une liste des départements en fonction de la région choisie.

Je cherche à n'afficher dans la seconde liste seulement les départements de la région choisi dans la première liste.

Voici le code que j'ai mis pour la liste déroulante pour le choix de la région:


<?php

//----------------------------------------------------------------------------------------------------------------------------------------------
Debut Fonction pour la liste des regions
//----------------------------------------------------------------------------------------------------------------------------------------------

function remplir_liste_region()
{
$lien = mysql_connect("localhost","root","") ;
mysql_select_db("monde",$lien) ;
$ls_region_select = "select region from region order by region" ;
$rs = mysql_query($ls_region_select, $lien) ;
while ($enregion = mysql_fetch_row($rs)) print("<option value=\"$enregion[0]\">$enregion[0]</option>") ;
mysql_free_result($rs) ;
mysql_close($lien) ;
}
?>

<?php
if(isSet($_GET["lb_regions"]))
{
$li_region = $_GET["region"] ;
$lien = mysql_connect("localhost","root","") ;
$bd = mysql_select_db("monde",$lien) ;
mysql_close($lien) ;
}

//----------------------------------------------------------------------------------------------------------------------------------------------
Fin Fonction pour la liste des regions
//----------------------------------------------------------------------------------------------------------------------------------------------


<?php

//----------------------------------------------------------------------------------------------------------------------------------------------
Debut Fonction pour la liste des departements
//----------------------------------------------------------------------------------------------------------------------------------------------


function remplir_liste_departements()
{
$lien = mysql_connect("localhost","root","") ;
mysql_select_db("ipterre",$lien) ;
$ls_select = "select 'numero as' from 'echo .$region 'order by 'numero as'" ;
$rs = mysql_query($ls_select, $lien) ;
while ($enras = mysql_fetch_row($rs)) print("<option value=\"$enras[0]\">$enras[0]-$enras[1]</option>") ;
mysql_free_result($rs) ;
mysql_close($lien) ;
}
?>

<?php
if(isSet($_GET["lb_departements"]))
{
$li_id_auteur = $_GET["numero as"] ;
$lien = mysql_connect("localhost","root","") ;
$bd = mysql_select_db("ipterre",$lien) ;
mysql_close($lien) ;
}
?>


//----------------------------------------------------------------------------------------------------------------------------------------------
Fin Fonction pour la liste des departements
//----------------------------------------------------------------------------------------------------------------------------------------------


?>
<body>

<-- ------------------------------------------------------------------------------------------------------------------------------------------- -->

<-- Cadre dans lequel se trouve la liste des regions -->

<div id="choix-region">
Choix de la région
<strong>
<select name="lb_regions">
<?php
echo remplir_liste_region() ;
?>
</select>
</strong>
</div>

<-- Fin du Cadre dans lequel se trouve la liste des regions -->

<-- ------------------------------------------------------------------------------------------------------------------------------------------- -->

<-- Cadre dans lequel se trouve la liste des departements-->

<div id="choix-departements">
Choix du departements
<strong>
<select name="lb_departements">
<?php
echo remplir_liste_departements() ;
?>
</select>
</strong>
</div>

<-- Fin du Cadre dans lequel se trouve la liste des departements-->

<-- ------------------------------------------------------------------------------------------------------------------------------------------- -->


<body>

Merci pour vos reponses.



Benoît
@+
vendredi 17 septembre 2010 à 21:22:52 | Re : Liste imbriquant 2 tables ?

kohntark

Membre Club
Réponse acceptée !
Salut,

Sujet maintes fois évoqué.

Je n'ai que jeté un très rapide coup d'oeil à ton code mais n'ai vu nul part trace de Javascript ... ça serait pourtant une bonne idée.

Il existe pas mal de tutos un peu partout (qui utilisent Ajax)
De mémoire il y en a un bien foutu sur ce site, écrit par Neigedhiver il me semble.

Une petite recherche sur les tutos devrait t'y amener.


Cordialement,


Kohntark -
samedi 18 septembre 2010 à 01:40:21 | Re : Liste imbriquant 2 tables ?

neigedhiver

Réponse acceptée !
Merci Kohntark... Mon tuto est encore sur la page d'accueil, c'est dire s'il est bien planqué : http://www.phpcs.com/tutoriaux/LIER-DEUX-LISTES-SELECT_1033.aspx

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
samedi 18 septembre 2010 à 07:24:06 | Re : Liste imbriquant 2 tables ?

syndrael

C'est bête mais il essaie peut-être de faire son remplissage de select après un submit de son formulaire. Peut-être le Javascript n'est pas encore à sa portée.
Par contre c'est clair que si des tuto existent (et je remercie ceux qui prennent le temps d'en faire..), c'est tojours utile de se demander s'il faut ré-inventer la roue..
S.
samedi 18 septembre 2010 à 08:48:38 | Re : Liste imbriquant 2 tables ?

bakalai




Bonjour,

Vous avez tous raisons
Merci
Je ne veut pas réinventer la poudre mais quand on ne connait pas on cherche toujours un peu a faire par soi même avant de demander de l'aide.
Je vais donc utiliser le tuto .



Benoît
@+
samedi 18 septembre 2010 à 10:08:27 | Re : Liste imbriquant 2 tables ?

bakalai




Re Bonjour,

C'est quand m^me un peu chaud ce tuto "Lier deux listes <select>" pour un débutant.
J'essaye mais je n'y arrive pas.

C'est peu être clair pour vous qui touchez à ces différents langages tous les jours mais pour les autres ....

Benoît
@+
samedi 18 septembre 2010 à 10:17:48 | Re : Liste imbriquant 2 tables ?

kohntark

Membre Club

Je dirai que tu ne peut pas mieux tomber pour l'aide : l'auteur du tuto suit cette discussion

Je ne l'ai pour ma part pas relu, mais n'hésite pas à poser tes interrogations.

Cordialement,


Kohntark -
samedi 18 septembre 2010 à 10:22:26 | Re : Liste imbriquant 2 tables ?

neigedhiver

Moi je veu bien aider, mais "je n'y arrive pas" ne m'indique pas quelle aide je peux apporter ;)

J'ai tenté de faire un tuto clair, mais je dois reconnaître qu'il nécessite quand même quelques notions de Javascript et de PHP.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
samedi 18 septembre 2010 à 10:57:14 | Re : Liste imbriquant 2 tables ?

bakalai




Bonjour,


Ok merci,

Ma premiere question :
J'a bien vu qu'il fallait une page avec la connexion a la db.

Mais faut il une page en php pour la lecture de 2 tables de ma base et une seconde en html pour l'affichage et le raffraichissement en fonction de mon premier Choix?

Ps :

je n'y connait strictement rien en java.
J'utilise ce qui existe sans trop comprendre des fois mais j'essaye de comprendre .

Benoît
@+
samedi 18 septembre 2010 à 11:54:36 | Re : Liste imbriquant 2 tables ?

kohntark

Membre Club

Je n'ai toujours pas relu le tuto, mais le schéma traditionnel reste celui ci :


(1)Page HTML avec script Javascript (Ajax)

<==============>

(2)Script PHP

<==============>

(3)Base de données (mySQL)


- l'utilisateur fait un choix dans le premier select de 1 (une région)
- le script Javascript intercepte ce choix et l'envoie via Ajax à 2
- 2 interroge 3 qui fournie tous les résultats. En l'occurrence il renvoie tous les départements de la région demandée
- 2 renvoie vers 1 les résultats
- le script JS de 1 se charge d'afficher le second select avec les résultats reçus

Ce ne sont que les grandes lignes, et j'imagine que le tuto de Neige suit ce schéma (va falloir que je prenne quelques minutes pour le relire)

Ca peut te paraître compliqué, mais c'est en fait très simple.
Hormis le fait que l'utilisateur n'ait pas à recharger la page, cette méthode permet un découpage qui s'avère bien souvent plus simple que l'utilisation d'un submit de formulaire.


Cordialement,


Kohntark -

1 2

Cette discussion est classée dans : fonction, mysql, liste, choix, région


Répondre à ce message

Sujets en rapport avec ce message

Affichage d'une table en fonction d'une liste déroulante [ par Germano23 ] Bonjour,je souhaite afficher le contenu d'une table en fonction du choix fait dans une liste déroulante, le tout sur la même page.J'ai bien trouvé que Choix dans une liste mysql d'un enregistrement sur une popup [ par theodoree ] Bonjour, Dans un formulaire, j'aimerais en cliquant sur une zone faire afficher une fenêtre popup qui contiendrait la liste des enregistrements d'une Débutant liste déroulante + mysql bd [ par santille ] Bonjour, Je suis débutant en PHP et j'essaie d'optimiser un script avec des listes déroulantes. Vous pouvez avoir les fichiers à http://www.fang.ch/p Liste déroulante dynamique oracle [ par EMAX2K ] Bonjour à tous, Voila je vous explique mon problème : j'ai un formulaire php qui va récupérer les valeurs dans une base. J'ai un formulaire avec 3 Liste/ Base MySql / formulaires [ par frayoubessem ] Salut tout le monde, J'ai besoin d'afficher des champs de saisie contenant les details du produit lorsque je choisis le produit de ma liste déroulan un probleme avec la fonction mysql_fetch_array() [ par soukaouta ] bonjour tt le monde J'obtiens cette erreur lorsque je tente de récupérer une donnée située dans ma base MySQL en local via WAMPServer. Warning: mysql_ Liste déroulante, base mysql, changement de valeurs [ par frayoubessem ] Salut tout le monde, J'ai besoin de remplir quelques champs de texte lorsque je choisis un element de ma liste qui est résultat d'une requête, ici j Un autre probleme la fonction mysql_query() [ par ALEXGETHAIME ] Salut les gars, s'il y a quelqu'un dans ma vie à qui je dois remercier c'est Dieu car Lui vous donne la vie et la force nécessaire pour toujours me ve Prblémre récupération donées bdd mysql dans liste déroulante [ par tif27940 ] Bonjour, voila mon petit probléme est que je n'arrive pas a récupérer les données de ma table a fin de les mettre dans une liste déroulante. voidi le Trier liste déroulante contenant les noms de colonne d'une table mysql [ par fredx76 ] Bonjour, Je cherche à trier les éléments d'une liste déroulante qui contient les noms de colonne d'une table mysql, voici mon code : $fields=mysql_l


Nos sponsors


Sondage...

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 : 1,030 sec (4)

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