Faire une recherche

Fermé
thomas - 23 janv. 2013 à 12:43
 thomas - 31 janv. 2013 à 13:50
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
23 janv. 2013 à 12:48
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
?
0
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 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
23 janv. 2013 à 21:15
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
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 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
30 janv. 2013 à 01:55
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
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