Fonction recherche php avec liste déroulante
Fermé
rgdu86
Messages postés
275
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 juillet 2014
-
19 oct. 2007 à 16:39
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 - 20 oct. 2007 à 21:28
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 - 20 oct. 2007 à 21:28
A voir également:
- Fonction recherche php avec liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Fonction si et - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google sheet liste déroulante - Accueil - Guide bureautique
7 réponses
ilan27
Messages postés
394
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
36
19 oct. 2007 à 16:46
19 oct. 2007 à 16:46
Bonjour, quel est le but de la liste déroulante?
rgdu86
Messages postés
275
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 juillet 2014
65
19 oct. 2007 à 17:04
19 oct. 2007 à 17:04
Je m'explique plus en détails.
J'ai 2 tables dans ma base de données mysql. L'une d'elle est 'acteur'. Quand je sélectionne un des acteurs de ma liste déroulante, je veux après avoir cliqué sur 'Rechercher' il m'envoi sur la page qui se réfère à cet acteur.
R.G.
J'ai 2 tables dans ma base de données mysql. L'une d'elle est 'acteur'. Quand je sélectionne un des acteurs de ma liste déroulante, je veux après avoir cliqué sur 'Rechercher' il m'envoi sur la page qui se réfère à cet acteur.
R.G.
ilan27
Messages postés
394
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
36
19 oct. 2007 à 17:18
19 oct. 2007 à 17:18
D'accord,
nomons Form1 ce formulaire pour abréger, il contiendra ton formulaire. Voici ta page:
if(isset($_POST['acteur_oujesaispasc'estkoilenomduchamp'])){
//On a demandé un acteur; donc on se connetce a la base de données:
mysql_connect("serveur","username','pass");
mysql_select_db("mabasededonnees") or die(mysql_error());
$req=mysql_query("SELECT * FROM acteur WHERE nom=' ".$_POST['nom']." ' ");
$don=mysql_fetch_array($req); //On a ses données dans $don
echo $don['nom']; //affiche son nom etc...
}else{
//On n'a rien demandé et tu affiche le formulaire form1
}
C'est loin d'etre détaillé, et c'est même le strict minimum! Si tu ne connais pas le php, il vaut mieux l'apprendre, sinon, à toi de jouer!
nomons Form1 ce formulaire pour abréger, il contiendra ton formulaire. Voici ta page:
if(isset($_POST['acteur_oujesaispasc'estkoilenomduchamp'])){
//On a demandé un acteur; donc on se connetce a la base de données:
mysql_connect("serveur","username','pass");
mysql_select_db("mabasededonnees") or die(mysql_error());
$req=mysql_query("SELECT * FROM acteur WHERE nom=' ".$_POST['nom']." ' ");
$don=mysql_fetch_array($req); //On a ses données dans $don
echo $don['nom']; //affiche son nom etc...
}else{
//On n'a rien demandé et tu affiche le formulaire form1
}
C'est loin d'etre détaillé, et c'est même le strict minimum! Si tu ne connais pas le php, il vaut mieux l'apprendre, sinon, à toi de jouer!
rgdu86
Messages postés
275
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 juillet 2014
65
19 oct. 2007 à 18:05
19 oct. 2007 à 18:05
Voilà le code de ma page recherche.php
Peux-tu me dire ce qui ne va pas, stp ?
<head>
<title> recherche </title>
<link rel = "stylesheet" type = "text/css" href = "style.css"/>
</head>
<body bgcolor = "#000000" text = "#FF0000" background = "photos/femme.jpg">
<form method = "post" action = "recherche.php">
<p><center><font size = "+2" face = "comic sans ms"><b>Recherche sur le site</b></font></p>
<br>
<form method = "POST" action = "TraiteForm.php">
<table face = "comic sans ms" border = "0" cellspacing = "50" cellpadding = "0">
<tr>
<td width = "75%" align = "left">
<?
require ("ProjetSecure/connect.php"); // connexion à la base de données
$RequeteFilm = "SELECT * FROM FILM ORDER BY CODEFILM";
$CurseurFilm = mysql_query($RequeteFilm,$CONNEXION);
echo "<font face = comic sans ms>";
echo "<h2>Sélectionner un film :</h2>";
echo "<SELECT NAME = film>";
echo "<OPTION SELECTED> -- Choisir un film -- </OPTION>";
while ($tupleFilm = mysql_fetch_array($CurseurFilm))
{
$annee = "";
$date = $tupleFilm["DATEFILM"];
$annee = $date[6].$date[7].$date[8].$date[9];
echo "<OPTION value = '$tuple[CODEFILM]'>";
echo $annee." - ";
echo $tupleFilm["TITREFILM"];
echo "</OPTION>";
}
echo "</SELECT></font><br>";
mysql_close($CONNEXION)
?>
</td>
<td width = "75%" align = "right">
<?
require("ProjetSecure/connect.php"); // connexion à la base de données
$RequeteActeur = "SELECT * FROM ACTEUR ORDER BY CODEACTEUR";
$CurseurActeur = mysql_query($RequeteActeur,$CONNEXION);
echo "<font face = 'comic sans ms'>";
echo "<h2>Sélectionner un acteur :</h2>";
echo "<SELECT NAME = 'acteur'>";
echo "<OPTION SELECTED> -- Choisir un acteur -- </OPTION>";
while ($tupleActeur = mysql_fetch_array($CurseurActeur))
{
echo "<OPTION value = '$tuple[CODEACTEUR]'>";
echo $tupleActeur["PRENOMACTEUR"]." ".$tupleActeur["NOMACTEUR"];
echo "</OPTION>";
}
echo "</SELECT></font>";
mysql_close($CONNEXION)
?>
</td>
</tr>
<tr>
<td colspan = "4" align = "center"><br><br>
<input type = "Submit" name = "Submit" value = "Rechercher">
</td>
</tr>
</table>
</center>
</form>
</body>
Par avance, merci.
R.G.
Peux-tu me dire ce qui ne va pas, stp ?
<head>
<title> recherche </title>
<link rel = "stylesheet" type = "text/css" href = "style.css"/>
</head>
<body bgcolor = "#000000" text = "#FF0000" background = "photos/femme.jpg">
<form method = "post" action = "recherche.php">
<p><center><font size = "+2" face = "comic sans ms"><b>Recherche sur le site</b></font></p>
<br>
<form method = "POST" action = "TraiteForm.php">
<table face = "comic sans ms" border = "0" cellspacing = "50" cellpadding = "0">
<tr>
<td width = "75%" align = "left">
<?
require ("ProjetSecure/connect.php"); // connexion à la base de données
$RequeteFilm = "SELECT * FROM FILM ORDER BY CODEFILM";
$CurseurFilm = mysql_query($RequeteFilm,$CONNEXION);
echo "<font face = comic sans ms>";
echo "<h2>Sélectionner un film :</h2>";
echo "<SELECT NAME = film>";
echo "<OPTION SELECTED> -- Choisir un film -- </OPTION>";
while ($tupleFilm = mysql_fetch_array($CurseurFilm))
{
$annee = "";
$date = $tupleFilm["DATEFILM"];
$annee = $date[6].$date[7].$date[8].$date[9];
echo "<OPTION value = '$tuple[CODEFILM]'>";
echo $annee." - ";
echo $tupleFilm["TITREFILM"];
echo "</OPTION>";
}
echo "</SELECT></font><br>";
mysql_close($CONNEXION)
?>
</td>
<td width = "75%" align = "right">
<?
require("ProjetSecure/connect.php"); // connexion à la base de données
$RequeteActeur = "SELECT * FROM ACTEUR ORDER BY CODEACTEUR";
$CurseurActeur = mysql_query($RequeteActeur,$CONNEXION);
echo "<font face = 'comic sans ms'>";
echo "<h2>Sélectionner un acteur :</h2>";
echo "<SELECT NAME = 'acteur'>";
echo "<OPTION SELECTED> -- Choisir un acteur -- </OPTION>";
while ($tupleActeur = mysql_fetch_array($CurseurActeur))
{
echo "<OPTION value = '$tuple[CODEACTEUR]'>";
echo $tupleActeur["PRENOMACTEUR"]." ".$tupleActeur["NOMACTEUR"];
echo "</OPTION>";
}
echo "</SELECT></font>";
mysql_close($CONNEXION)
?>
</td>
</tr>
<tr>
<td colspan = "4" align = "center"><br><br>
<input type = "Submit" name = "Submit" value = "Rechercher">
</td>
</tr>
</table>
</center>
</form>
</body>
Par avance, merci.
R.G.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ilan27
Messages postés
394
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
36
19 oct. 2007 à 18:20
19 oct. 2007 à 18:20
Ok, mais je ne vois aucune requete qui extrait la demande du type $_POST['acteur'] pour le nom de l'acteur ou autre, et rien ne permet de l'afficher.
Ex:
$req=mysql_query("SELECT * FROM acteur WHERE nom=' ".$_POST['nom']." ' ");
$don=mysql_fetch_array($req); //On a ses données dans $don
echo $don['nom'];
Tu le mets là où tu veux que ces informations s'affichent. Mais il faut d'abord tester si qqchose a été rentré. Tu vois ta page n'est qu'un formulaire, il faut traiter la demande. Or je ne vois rien qui traite une demande. Tu sais comment faire en php pour ça??
Ex:
$req=mysql_query("SELECT * FROM acteur WHERE nom=' ".$_POST['nom']." ' ");
$don=mysql_fetch_array($req); //On a ses données dans $don
echo $don['nom'];
Tu le mets là où tu veux que ces informations s'affichent. Mais il faut d'abord tester si qqchose a été rentré. Tu vois ta page n'est qu'un formulaire, il faut traiter la demande. Or je ne vois rien qui traite une demande. Tu sais comment faire en php pour ça??
rgdu86
Messages postés
275
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 juillet 2014
65
19 oct. 2007 à 19:06
19 oct. 2007 à 19:06
non je ne sais pas comment faire.
R.G.
R.G.
ilan27
Messages postés
394
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
36
20 oct. 2007 à 21:28
20 oct. 2007 à 21:28
Ok. Je vais te dire vite fait, mais il serait beaucoup plus pratique, et vivement conseillé d'apprendre les interactions php-base de données, c'est très rapide (vas sur https://openclassrooms.com/fr/courses Par ailleurs, j'ai un peu modifié tonformulaire, il y avait pas mal d'erreurs (syntaxes, 2 balises <form> emboitées...)
!!Tout est sur une page recherche.php, c'est plus pratique si on vaut faire plusieurs recherches d'affilées
En gros, tes formulaires renvoient sur ta page recherche.php, mais après? qu'est qu'on fait? En fait, il faut que php récupère ces résultats, et on les traite avec une recherche sur ta base de données. Donc au début il y a ceci:
<head>
<title> recherche </title>
<link rel = "stylesheet" type = "text/css" href = "style.css"/>
</head>
<body bgcolor = "#000000" text = "#FF0000" background = "photos/femme.jpg">
<?php
if(isset($_POST['acteur'])){
//Vérifie qu'on a cherché un acteur ou un film avec le formulaire, ie on a déjà ouvert la page et valider dans le formulaire. Mais quoi?:
if(!empty($_POST['acteur'])){
//On a bien demandé un acteur, pas rien
//donc on se connetce a la base de données:
mysql_connect("serveur","username","'pass");
mysql_select_db("mabasededonnees") or die(mysql_error());
$req=mysql_query("SELECT * FROM ACTEUR WHERE CODEACTEUR=' ".$_POST['acteur']." ' ");
$don=mysql_fetch_array($req); //On a ses données dans $don
echo $don['NOMACTEUR']; //affiche son nom etc... , tu affiches ce que tu veux de lui/elle
mysql_close();
}
if(!empty($_POST['film'])){
//On a demandé un film
mysql_connect("serveur","username","'pass");
mysql_select_db("mabasededonnees") or die(mysql_error());
$req=mysql_query("SELECT * FROM FILM WHERE CODEFILM=' ".$_POST['film']." ' ");
$don=mysql_fetch_array($req); //On a ses données dans $don
echo $don['TITRE']; //affiche son nom etc... , tu affiches ce que tu veux du film
mysql_close();
}
}//On ferme la boucle qui vérifie l'existence d'une recherche
//Puis on affiche le formulaire
<form method = "post" action = "recherche.php">
<p><center><font size = "+2" face = "comic sans ms"><b>Recherche sur le site</b></font></p>
<br>
<table face = "comic sans ms" border = "0" cellspacing = "50" cellpadding = "0">
<tr>
<td width = "75%" align = "left">
<?
require ("ProjetSecure/connect.php"); // connexion à la base de données
$RequeteFilm = "SELECT * FROM FILM ORDER BY CODEFILM";
$CurseurFilm = mysql_query($RequeteFilm,$CONNEXION);
echo "<font face = comic sans ms>";
echo "<h2>Sélectionner un film :</h2>";
echo "<SELECT NAME = film>";
echo "<OPTION SELECTED VALUE=""> -- Choisir un film -- </OPTION>";
while ($tupleFilm = mysql_fetch_array($CurseurFilm))
{
$annee = "";
$date = $tupleFilm['DATEFILM'];
$annee = $date[6].$date[7].$date[8].$date[9];
echo "<OPTION value = '".$tuple['CODEFILM']."'>";
echo $annee." - ";
echo $tupleFilm["TITREFILM"];
echo "</OPTION>";
}
echo "</SELECT></font><br>";
mysql_close($CONNEXION)
?>
</td>
<td width = "75%" align = "right">
<?
require("ProjetSecure/connect.php"); // connexion à la base de données
$RequeteActeur = "SELECT * FROM ACTEUR ORDER BY CODEACTEUR";
$CurseurActeur = mysql_query($RequeteActeur,$CONNEXION);
echo "<font face = 'comic sans ms'>";
echo "<h2>Sélectionner un acteur :</h2>";
echo "<SELECT NAME = 'acteur'>";
echo "<OPTION SELECTED> -- Choisir un acteur -- </OPTION>";
while ($tupleActeur = mysql_fetch_array($CurseurActeur))
{
echo "<OPTION value = '".$tuple['CODEACTEUR']."'>";
echo $tupleActeur['PRENOMACTEUR']." ".$tupleActeur['NOMACTEUR'];
echo "</OPTION>";
}
echo "</SELECT></font>";
mysql_close($CONNEXION);
?>
</td>
</tr>
<tr>
<td colspan = "4" align = "center"><br><br>
<input type = "Submit" name = "Submit" value = "Rechercher">
</td>
</tr>
</table>
</center>
</form>
</body>
!!Tout est sur une page recherche.php, c'est plus pratique si on vaut faire plusieurs recherches d'affilées
En gros, tes formulaires renvoient sur ta page recherche.php, mais après? qu'est qu'on fait? En fait, il faut que php récupère ces résultats, et on les traite avec une recherche sur ta base de données. Donc au début il y a ceci:
<head>
<title> recherche </title>
<link rel = "stylesheet" type = "text/css" href = "style.css"/>
</head>
<body bgcolor = "#000000" text = "#FF0000" background = "photos/femme.jpg">
<?php
if(isset($_POST['acteur'])){
//Vérifie qu'on a cherché un acteur ou un film avec le formulaire, ie on a déjà ouvert la page et valider dans le formulaire. Mais quoi?:
if(!empty($_POST['acteur'])){
//On a bien demandé un acteur, pas rien
//donc on se connetce a la base de données:
mysql_connect("serveur","username","'pass");
mysql_select_db("mabasededonnees") or die(mysql_error());
$req=mysql_query("SELECT * FROM ACTEUR WHERE CODEACTEUR=' ".$_POST['acteur']." ' ");
$don=mysql_fetch_array($req); //On a ses données dans $don
echo $don['NOMACTEUR']; //affiche son nom etc... , tu affiches ce que tu veux de lui/elle
mysql_close();
}
if(!empty($_POST['film'])){
//On a demandé un film
mysql_connect("serveur","username","'pass");
mysql_select_db("mabasededonnees") or die(mysql_error());
$req=mysql_query("SELECT * FROM FILM WHERE CODEFILM=' ".$_POST['film']." ' ");
$don=mysql_fetch_array($req); //On a ses données dans $don
echo $don['TITRE']; //affiche son nom etc... , tu affiches ce que tu veux du film
mysql_close();
}
}//On ferme la boucle qui vérifie l'existence d'une recherche
//Puis on affiche le formulaire
<form method = "post" action = "recherche.php">
<p><center><font size = "+2" face = "comic sans ms"><b>Recherche sur le site</b></font></p>
<br>
<table face = "comic sans ms" border = "0" cellspacing = "50" cellpadding = "0">
<tr>
<td width = "75%" align = "left">
<?
require ("ProjetSecure/connect.php"); // connexion à la base de données
$RequeteFilm = "SELECT * FROM FILM ORDER BY CODEFILM";
$CurseurFilm = mysql_query($RequeteFilm,$CONNEXION);
echo "<font face = comic sans ms>";
echo "<h2>Sélectionner un film :</h2>";
echo "<SELECT NAME = film>";
echo "<OPTION SELECTED VALUE=""> -- Choisir un film -- </OPTION>";
while ($tupleFilm = mysql_fetch_array($CurseurFilm))
{
$annee = "";
$date = $tupleFilm['DATEFILM'];
$annee = $date[6].$date[7].$date[8].$date[9];
echo "<OPTION value = '".$tuple['CODEFILM']."'>";
echo $annee." - ";
echo $tupleFilm["TITREFILM"];
echo "</OPTION>";
}
echo "</SELECT></font><br>";
mysql_close($CONNEXION)
?>
</td>
<td width = "75%" align = "right">
<?
require("ProjetSecure/connect.php"); // connexion à la base de données
$RequeteActeur = "SELECT * FROM ACTEUR ORDER BY CODEACTEUR";
$CurseurActeur = mysql_query($RequeteActeur,$CONNEXION);
echo "<font face = 'comic sans ms'>";
echo "<h2>Sélectionner un acteur :</h2>";
echo "<SELECT NAME = 'acteur'>";
echo "<OPTION SELECTED> -- Choisir un acteur -- </OPTION>";
while ($tupleActeur = mysql_fetch_array($CurseurActeur))
{
echo "<OPTION value = '".$tuple['CODEACTEUR']."'>";
echo $tupleActeur['PRENOMACTEUR']." ".$tupleActeur['NOMACTEUR'];
echo "</OPTION>";
}
echo "</SELECT></font>";
mysql_close($CONNEXION);
?>
</td>
</tr>
<tr>
<td colspan = "4" align = "center"><br><br>
<input type = "Submit" name = "Submit" value = "Rechercher">
</td>
</tr>
</table>
</center>
</form>
</body>