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 28/05/2011, 16h29   #1
Invité de passage
 
Inscription : décembre 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 34
Points : 0
Points : 0
Par défaut Lors de click sur valeur de liste déroulante

Bonjour,
J'ai utilisé dans une page php une formulaire qui contient liste déroulante (select),ses options je les récupérer dans la base donnée mysql et ça marche pour moi.
le problème c'est que je veux cliquer sur n'importe valeur de la liste il faut qu'il m'affiche au même page une autre page qui contient une table des info(je dois les récupérer au base donnée)sur la valeur sélectionnée.
Je veux utiliser php .
s'il y a quelqu'un qui peut m'aider s'il vous plaît..
devhafid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 17h13   #2
Membre expérimenté
 
Avatar de amoiraud
 
Homme Adrien
Développeur Web
Inscription : octobre 2006
Messages : 405
Détails du profil
Informations personnelles :
Nom : Homme Adrien
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2006
Messages : 405
Points : 531
Points : 531
Envoyer un message via MSN à amoiraud
Tu peut faire ca en ajax, tu envoi la valeur de l'option en ajax a une page qui va te faire la requête SQL et qui affichera les infos récupérées dans un div ou un tableau
amoiraud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 20h35   #3
Invité de passage
 
Inscription : décembre 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 34
Points : 0
Points : 0
Pour moi c'est mieux d'utiliser PHP ou b1 JavaScript que j'ai déjà étudié,par contre Ajax je l'ai jamais vu.ok
devhafid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2011, 00h22   #4
Invité régulier
 
Inscription : mars 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 11
Points : 8
Points : 8
Slt,

Ajax, c'est du Javascript "amélioré" (pardon pour les puristes ...)

Vas voir vers prototype ou jquery
m51_2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 22h38   #5
Invité de passage
 
Inscription : décembre 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 34
Points : 0
Points : 0
Voila mon code source que j'ai utilisé en PHP.
lorsque je l’exécute il m'affiche seulement la liste avec les donnes que je récupérer dans la base donne mais il m'affiche pas les infos sur les lauréats.
lorsque je clique sur un nom de société il faut qu'il m'affiche sur la même page les infos sur les lauréats de cette société.
Si quelqu’un peut me dire ou devient le pb?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<html>
<head>
</head>
<body>
<?php
if(isset($_POST['liste1'])){
	//si la liste a été "postée" c ad choix fait
	$liste1=$_POST['liste1'];
}else{
	$liste1=-1;
}
?>
S&eacute;lectionnez une societe :
<form name="form1" method="post" action="affiche.php">
<select name="liste1" onChange="form1.submit();">
	<option value="-1">-- Choisissez -- </option> <!--  il faut cette ligne pour avoir obliagtoirement un changement -->
<?php
 
$connection = mysql_connect('localhost', 'root', '');
$base = mysql_select_db('etudiants_smi');
 
$requete = "SELECT Nom FROM societe";
$execution_requete = mysql_query($requete);
while($total = mysql_fetch_array($execution_requete))
 
//Liste déroulante
 
{
echo "<option value=\"".$total["Nom"]."\"";
if($liste1==$total['Nom']) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage 
echo ">".$total['Nom']."</option>\n";
}
 
?>
</select>
</form>
<?php
if($liste1 != -1){ //si on a fait un choix
	//on refait une requette avec une condition
	$requete = "select * from carriere,etat_civil,societe where carriere.cne=etat_civil.CNE and carriere.n_societe=societe.n_societe and societe.Nom='".$liste1."'";
	$execution_requete = mysql_query($requete);
 
	// on affiche les valeurs correspondantes au nom selectionné, pas besoin de boucle while, il n'y en aura qu'un
	$total = mysql_fetch_array($execution_requete);
	echo "les laureats de societe est :</br>";
	echo "Nom: ".$total['Nom']."<br />Prenom: ".$total['prenom']."<br />Tel: ".$total['tel']."<br />Email: ".$total['email'];
 
}
//fermeture connexion à mysql
mysql_close();
 
?>
 
</body>
</html>
devhafid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 08h57   #6
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 270
Points : 7 270
Bonjour,

Citation:
carriere.cne=etat_civil.CNE and carriere.n_societe=societe.n_societe
Tu as des champs avec les mêmes noms, donc soit tu modifies le nom de ces champs, soit tu utilises un alias pour ces champs et ne pas utiliser "Select *".

Sinon, un tutoriel qui pourra t'intéresser utilisant AJAX.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 13h26   #7
Invité de passage
 
Inscription : décembre 2009
Messages : 34
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 34
Points : 0
Points : 0
J'ai changé les noms dans la base donné ,et pour cette requette que j'ai utilisé ici ca marche bien dans mysql,
Je pense que le pb n'est pas dans la requette.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<html>
<head>
</head>
<body>
<?php
if(isset($_POST['liste1'])){
	//si la liste a été "postée" c ad choix fait
	$liste1=$_POST['liste1'];
}else{
	$liste1=-1;
}
?>
S&eacute;lectionnez une societe :
<form name="form1" method="post" action="affiche.php">
<select name="liste1" onChange="form1.submit();">
	<option value="-1">-- Choisissez -- </option> <!--  il faut cette ligne pour avoir obliagtoirement un changement -->
<?php
 
$connection = mysql_connect('localhost', 'root', '');
$base = mysql_select_db('etudiants_smi');
 
$requete = "SELECT nom_soc FROM societe";
$execution_requete = mysql_query($requete);
while($total = mysql_fetch_array($execution_requete))
 
//Liste déroulante
 
{
echo "<option value=\"".$total["nom_soc"]."\"";
if($liste1==$total['nom_soc']) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage 
echo ">".$total['nom_soc']."</option>\n";
}
 
?>
</select>
</form>
<?php
if($liste1 != -1){ //si on a fait un choix
	//on refait une requette avec une condition
	$requete = "select nom_lau,prenom_lau,tel_lau,email_lau from carriere,etat_civil,societe where carriere.cne_car=etat_civil.CNE and carriere.n_societe_car=societe.n_societe and societe.nom_soc='".$liste1."'";
	$execution_requete = mysql_query($requete);
 
	// on affiche les valeurs correspondantes au nom selectionné, pas besoin de boucle while, il n'y en aura qu'un
	$total = mysql_fetch_array($execution_requete);
	//echo "les laureats de societe est :</br>";
	echo "Nom: ".$total['nom_lau']."<br />Prenom: ".$total['prenom_lau']."<br />Tel: ".$total['tel_lau']."<br />Email: ".$total['email_lau'];
 
}
 
//fermeture connexion à mysql
mysql_close();
 
?>
 
</body>
</html>
devhafid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h18.


 
 
 
 
Partenaires

Hébergement Web