Page 1 sur 2
Recherche sur plusieurs champs
Posté : 09 déc. 2005, 13:46
par volubilis
Bonjour,
J'ai créé un formulaire de saisie de cette facon peut etre maladroitement mais je debute depuis cette semaine.
Code : Tout sélectionner
<form action="search.php" method="post">
<input type="text" name="nom" size="25" maxlength="40" value=" Recherchez sur le site">
<input type="submit" value="Go" style="background-color: #FF3810;">
</form>
puis dans mon fichier search.php je retourne
Code : Tout sélectionner
$reponse = mysql_query("SELECT * FROM artistes WHERE nom like '%".$_POST['nom']."%' order by nom");
tout marche sauf que je voudrais pouvoir en faite rechercher dans tous les champs de ma base le resultat du post et pas simplement que dans celui de nom
Merci [/code]
Posté : 09 déc. 2005, 14:22
par jobherzt
si par exemple tu as un champ description, il suffit d'ajouter "OR description LIKE %$_POST['nom']%".
Posté : 09 déc. 2005, 14:41
par betman
J'essaye également de faire un moteur de recherche sur mon site.
Pourrais-tu stp poster ta page qui affiche les résultats de ta recherche, car j'ai des soucis à ce niveau là
Posté : 09 déc. 2005, 14:43
par volubilis
j'essaye et je suis à toi betman !
Posté : 09 déc. 2005, 14:48
par volubilis
ca marche pas, voila ce que j'ai ca me ressort le premier enregistrement de ma base systematiquement mais pas le contenu du champ nom alors que ca marche pour le lieu mais en sortant egalement le premier enregistrement de ma base !!
[/code]
Posté : 09 déc. 2005, 14:49
par volubilis
sinon pour Betman
Code : Tout sélectionner
$reponse = mysql_query("SELECT * FROM artistes WHERE nom or lieu like '%".$_POST['nom']."%' order by nom");
while ($donnees = mysql_fetch_array($reponse) )
{
// on affiche les informations de l'enregistrement en cours
echo "<a href=".$donnees['chemin'].">".$donnees['nom']."</a>";
echo '<b>'.' '.$donnees['type'].' '.$donnees['lieu'].' '.$donnees['annee'].'</b>';
echo "<br />";
echo "<br />";
echo "<br />";
}
Posté : 09 déc. 2005, 15:02
par betman
merci je vais regarder ça

Posté : 09 déc. 2005, 15:32
par betman
je viens de tester ton code, il me retourne bien le résultat mais il m'affiche une erreur :
Notice: Undefined variable: query in c:\program files\easyphp1-7\www\site intranet\admin\contact\search.php on line 15
Erreur SQL !
Query est vide
<?
include('connection.inc.php');
$reponse = mysql_query("SELECT * FROM contact WHERE nom_col like '%".$_POST['nom_col']."%' order by nom_col");
while ($donnees = mysql_fetch_array($reponse) )
{
// on affiche les informations de l'enregistrement en cours
echo "<a href=".$donnees['nom_col'].">".$donnees['nom_col']."</a>";
}
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());
?>
je ne vois pourquoi query serait puisqu'il me retourne le résultat...
Posté : 09 déc. 2005, 15:57
par Invité
t'as verifier le contenu de ton fichier connexion
Posté : 09 déc. 2005, 15:58
par volubilis
surtout qu'il y a un point entre ton inc et php je sais pas comment c'est interprete !!
Posté : 09 déc. 2005, 15:58
par volubilis
sinon pour moi c regle
merci !!
Posté : 09 déc. 2005, 16:00
par pjl
surtout qu'il y a un point entre ton inc et php je sais pas comment c'est interprete !!
ca n'a rien à voir avec le problème.
Ce point n'a pas à être interprété, c'est un nom de fichier.
Posté : 09 déc. 2005, 16:02
par volubilis
t'as sans doute raison !!
je debute depuis cette semaine !
Posté : 09 déc. 2005, 16:04
par betman
oui j'ai jamais eu de problème avec ce nom fichier j'utilise toujours ça.
Si je retire la ligne qui provoque l'erreur ça fonctionne mais bon ca pas top propre.
Posté : 09 déc. 2005, 16:05
par pjl
en l'occurence le message d'erreur est très clair.
Il dit simplement qu'à cette ligne :
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());
La variable $query qui est appelé n'a pas été définie.