Faire une recherche
thomas
-
thomas -
thomas -
Bonjour a tous !
voila j'essaie depuis un temps déjà de faire une fonction de recherche pour mon site. ça se présente comme une zone de texte avec la recherche a entrer a l'intérieur. et ça fonctionne en sql. mais ça marche pas. apparemment ça ne vient pas de la requête, mais il ne trouve rien quand je recherche, il me revoie le message d'erreur. lorsque je passe le paramètre directement ds le code, il me met un résultat(j'affiche le $nb) mais ne liste pas.
voila mon code:
if (isset($_POST['rechercher']))
{
$req="select * from Client where Nom_Client like '%".$_POST['rechercher']."%'";
$result=mysql_query($req) or die ("impossible d'executer la requête de recherche");
$nb=mysql_num_rows($result);
$ligne=mysql_fetch_assoc($result);
echo $nb;
if ($nb==0)
{
$message="Aucun Client ne correspond à votre recherche";
echo '<script type="text/javascript">'
. 'alert("Aucun Client ne correspond à votre recherche");'
. '</script>';
}
else
{
$req="Select * from Client";
$req = mysql_query($req) or die(mysql_error("requête affichage échouée"));
}
quelqu'un a une idée?
voila j'essaie depuis un temps déjà de faire une fonction de recherche pour mon site. ça se présente comme une zone de texte avec la recherche a entrer a l'intérieur. et ça fonctionne en sql. mais ça marche pas. apparemment ça ne vient pas de la requête, mais il ne trouve rien quand je recherche, il me revoie le message d'erreur. lorsque je passe le paramètre directement ds le code, il me met un résultat(j'affiche le $nb) mais ne liste pas.
voila mon code:
if (isset($_POST['rechercher']))
{
$req="select * from Client where Nom_Client like '%".$_POST['rechercher']."%'";
$result=mysql_query($req) or die ("impossible d'executer la requête de recherche");
$nb=mysql_num_rows($result);
$ligne=mysql_fetch_assoc($result);
echo $nb;
if ($nb==0)
{
$message="Aucun Client ne correspond à votre recherche";
echo '<script type="text/javascript">'
. 'alert("Aucun Client ne correspond à votre recherche");'
. '</script>';
}
else
{
$req="Select * from Client";
$req = mysql_query($req) or die(mysql_error("requête affichage échouée"));
}
quelqu'un a une idée?
A voir également:
- Faire une recherche
- Comment faire une recherche à partir d'une photo - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Je recherche une chanson - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Déposer une annonce de recherche sur le bon coin - Forum Consommation & Internet
5 réponses
Oh monde cruel, quand penses-tu que les gens au lieu de dire "ça marche pas y'a un bug" donnerons tout simplement le bug en question ? Quand ???
Cette destinée n'est pas celle que j'ai choisi, donne moi la force de changer mon destin !!
ouaaarg !!!!
Cette destinée n'est pas celle que j'ai choisi, donne moi la force de changer mon destin !!
ouaaarg !!!!
thomas
?
bon g avancé. apparament la requête passe niquel et l'affichage aussi. le problème viens de mon passage de parametre, php ne reconnait pas la saisie de mon parametre dans la barre de recherche. je l'ai créer comme cela :
<input type="Submit" value="rechercher">
<input type="hidden" name="rechercher" value="rechercher" >
comment je peut récupérer la valeur saisie dans la barre de recherche pour ma requête?
<input type="Submit" value="rechercher">
<input type="hidden" name="rechercher" value="rechercher" >
comment je peut récupérer la valeur saisie dans la barre de recherche pour ma requête?
Je crois que tu n'as pas bien saisie le transfert des données en PHP à partir d'un formulaire.
La valeur $_POST prends le nom de l'attribut name d'une balise input.
Dans le cas présent, ton formulaire devrait ressembler à ça:
Côté PHP:
La valeur $_POST prends le nom de l'attribut name d'une balise input.
Dans le cas présent, ton formulaire devrait ressembler à ça:
<form method="post"> <input name="recherche" /> <input type="submit" name="envoi" value="Rechercher" /> </form>
Côté PHP:
if (isset($_POST['envoi']))
{
$req="SELECT * FROM Client WHERE Nom_Client LIKE '%".$_POST['recherche']."%'";
en fait j'ai passé par la méthode get et ça a fonctionné sur le moment. mais la, il met fout une erreur 404 maintenant. je n'y comprend vraiment rien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
en fait c bon ça marche c'est juste que j'avais changé le css et que ça a tout foiré. maintenant c'est bon, j'ai fé un li class="current" avant le a href et ça marche. maintenant pourquoi la requête ne marchait pas c juste que g pas mis le bon nom sur le coté PHP par rapport au html. et j'ai aussi utilisé GET au lieu de POST :
<form method="GET">
<input name="rechercher" /> <input type="rechercher" name="rechercher" value="Rechercher" />
</form>
G mis "rechercher aussi dans le PHP
if (isset($_GET['rechercher']))
et ça passe. merci a ceux qui ont réellement tenté de m'aider ^^
<form method="GET">
<input name="rechercher" /> <input type="rechercher" name="rechercher" value="Rechercher" />
</form>
G mis "rechercher aussi dans le PHP
if (isset($_GET['rechercher']))
et ça passe. merci a ceux qui ont réellement tenté de m'aider ^^