Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2011, 11h59   #1
Membre à l'essai
 
Inscription : novembre 2008
Messages : 258
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 258
Points : 22
Points : 22
Par défaut contenu de deux menus

bonjour,

j'ai :
- menu de selection 1, qui est renseigné par une requete :
Code :
 Select distinct IdContinent, LibelléContinent From TableContinent
- menu de selection 2, qui est renseigné par une requete :
Code :
Select distinct IdPays, LibelléPays From TablePays
- et une table Mysql (ContinentPays) qui contient : IdContinent et IdPays.

dans ma page (.php) j'affiche les 2 menus : Continent et Pays,

je souhaite au moment où je choisis un Continent dans le MenuContinent, le MenuPays se mets à jour directement en n'affichant que les Pays du Continent que j'ai sélectionné dans le premier Menu.

comment faire ceci?

merci par avance
laure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 12h00   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
oriente toi vers ajax
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 13h29   #3
Membre à l'essai
 
Inscription : novembre 2008
Messages : 258
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 258
Points : 22
Points : 22
ajax!!!!

ya pa un truc plus simple?
laure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 13h31   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
si
soit en js
soit en php ms cela implique un rechargement de la page
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 15h20   #5
Membre à l'essai
 
Inscription : novembre 2008
Messages : 258
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 258
Points : 22
Points : 22
Bonjour,

j'arrive pas à recuperer la Max(Id):

Code :
1
2
3
$Requete = mysql_query("SELECT Max(Id) AS MaxId FROM MaTable"); 
  $row = mysql_result($Requete );
  echo "===> ".$row ;
une idée?

merci
laure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 15h26   #6
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Code :
1
2
3
$Requete = mysql_query("SELECT Max(Id) AS MaxId FROM MaTable");
$row = mysql_result($Requete );
echo '===> '.$row['MaxId '];
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 16h49   #7
Membre à l'essai
 
Inscription : novembre 2008
Messages : 258
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 258
Points : 22
Points : 22
j'ai essayé avec ca m'affiche ce message d'erreur :
Warning: mysql_result() expects at least 2 parameters, 1 given in C:\Program Files\EasyPHP-5.3.6.0\www\add_cpt.php on line 39 =

la ligne 39 est celle ci =>
Code :
$row = mysql_result($Requete );
laure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 16h52   #8
Membre à l'essai
 
Inscription : novembre 2008
Messages : 258
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 258
Points : 22
Points : 22
Citation:
Envoyé par boo64 Voir le message
si
soit en js
soit en php ms cela implique un rechargement de la page
sera t'il possible de donner un exemple simple pour comprendre le principe avec js...

merci
laure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 17h29   #9
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par laure07 Voir le message
ajax!!!!

ya pa un truc plus simple?
Vous connaissez JS ? Vous connaissez PHP ? Vous pouvez faire de l'AJAX. C'est pas dur et une fois que vous connaissez le principe et la syntaxe, vous ne pourrez plus vous en passer.

Citation:
Envoyé par laure07 Voir le message
ca m'affiche ce message d'erreur :
Warning: mysql_result() expects at least 2 parameters, 1 given in C:\Program Files\EasyPHP-5.3.6.0\www\add_cpt.php on line 39 =

la ligne 39 est celle ci =>
Code :
$row = mysql_result($Requete );
Il faut lire la doc : http://php.net/manual/fr/function.mysql-result.php
mysql_result prend 2 paramètres :
  1. Le resultat de mysql_query()
  2. La ligne à prendre en compte
Il manque donc la ligne dans votre script :
Code :
$row = mysql_result($Requete, 0);
Citation:
Envoyé par laure07 Voir le message
sera t'il possible de donner un exemple simple pour comprendre le principe avec js...

merci
Avec uniquement du js, il va vous falloir charger la liste des continents (comme normalement) et mettre un event-handler sur le changement de cette liste pour afficher une des 5 listes (il y a bien 5 continents déjà ? Je sais plus) déjà préchargées mais cachées (grâce aux CSS).
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 17h37   #10
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Complétement d'accord avec Shikiryu autant pr moi avec le mysql_result repondu trop vite

sinon j’espère aussi que tablepays à bien une colonne id_continent
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 13h26   #11
Membre à l'essai
 
Inscription : novembre 2008
Messages : 258
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 258
Points : 22
Points : 22
toujour bloquée sur le contenut du deuxieme menu de selection, qui doit dependre du choix fait dans le premier menu.

est il possible de me communiquer le code permettant de faire ceci.

merci par avance
laure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h34   #12
Membre régulier
 
Inscription : juin 2008
Messages : 105
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 105
Points : 84
Points : 84
Salut, comme cela a été dit plus haut, ajax est la meilleure solution pour ton prb.
Le principe c'est que ds l'évènement Onchange de ton premier select, tu mets une procédure javascript qui va appeler une page php "en arrière-plan", avec comme paramètre l'id de ton continent. Celle-ci génère le nouveau select avec uniquement les valeurs (pays) associées à ton id et est renvoyé dans la fonction javascipt qui l'avait appelée. Ensuite , à l'aide d'un innerHTML, tu replaces le nouvel élément dans ta page.

Côté base de données, il faut que tu aies un idcontinent dans ta table pays, qui lie les enregistrements pays et continent.

Voici l'adresse d'un tuto, qui explique très bien comment lier des listes avec ajax.
http://siddh.developpez.com/articles/ajax/#LIV-A . Si la syntaxe du code js est un peu dure à digérer au début, une fois le principe compris, cela va comme une lettre à la poste. Tu peux aussi utiliser JQUERY pour formuler tes requêtes ajax, c'est plus court à coder

Alpha.
alpha232 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 17h10   #13
Membre à l'essai
 
Inscription : novembre 2008
Messages : 258
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 258
Points : 22
Points : 22
Citation:
Envoyé par alpha232 Voir le message
Salut, comme cela a été dit plus haut, ajax est la meilleure solution pour ton prb.
Le principe c'est que ds l'évènement Onchange de ton premier select, tu mets une procédure javascript qui va appeler une page php "en arrière-plan", avec comme paramètre l'id de ton continent. Celle-ci génère le nouveau select avec uniquement les valeurs (pays) associées à ton id et est renvoyé dans la fonction javascipt qui l'avait appelée. Ensuite , à l'aide d'un innerHTML, tu replaces le nouvel élément dans ta page.

Côté base de données, il faut que tu aies un idcontinent dans ta table pays, qui lie les enregistrements pays et continent.

Voici l'adresse d'un tuto, qui explique très bien comment lier des listes avec ajax.
http://siddh.developpez.com/articles/ajax/#LIV-A . Si la syntaxe du code js est un peu dure à digérer au début, une fois le principe compris, cela va comme une lettre à la poste. Tu peux aussi utiliser JQUERY pour formuler tes requêtes ajax, c'est plus court à coder

Alpha.
merci BCP Alpha...c cette reponse que je cherchais...merci
laure07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h12.


 
 
 
 
Partenaires

Hébergement Web