Faire une recherche

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?

5 réponses

ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
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 !!!!
0
thomas
 
?
0
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?
0
arthezius Messages postés 3756 Statut Membre 475
 
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:
<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']."%'";
0
thomas
 
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.
0
arthezius Messages postés 3756 Statut Membre 475
 
Donne nous le code PHP et le code HTML correspondant que tu utilises.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thomas
 
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 ^^
0