Recherche sur plusieurs champs

Petit nouveau ! | 7 Messages

09 déc. 2005, 13:46

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]

Eléphant du PHP | 383 Messages

09 déc. 2005, 14:22

si par exemple tu as un champ description, il suffit d'ajouter "OR description LIKE %$_POST['nom']%".

Eléphant du PHP | 206 Messages

09 déc. 2005, 14:41

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à

Petit nouveau ! | 7 Messages

09 déc. 2005, 14:43

j'essaye et je suis à toi betman !

Petit nouveau ! | 7 Messages

09 déc. 2005, 14:48

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 : Tout sélectionner

WHERE nom or lieu like '%".$_POST['nom']."%' order by nom");
[/code]

Petit nouveau ! | 7 Messages

09 déc. 2005, 14:49

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 />"; }

Eléphant du PHP | 206 Messages

09 déc. 2005, 15:02

merci je vais regarder ça :)

Eléphant du PHP | 206 Messages

09 déc. 2005, 15:32

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...

Invité
Invité n'ayant pas de compte PHPfrance

09 déc. 2005, 15:57

t'as verifier le contenu de ton fichier connexion

Petit nouveau ! | 7 Messages

09 déc. 2005, 15:58

surtout qu'il y a un point entre ton inc et php je sais pas comment c'est interprete !!

Petit nouveau ! | 7 Messages

09 déc. 2005, 15:58

sinon pour moi c regle
merci !!

ViPHP
pjl
ViPHP | 2119 Messages

09 déc. 2005, 16:00

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.

Petit nouveau ! | 7 Messages

09 déc. 2005, 16:02

t'as sans doute raison !!
je debute depuis cette semaine !

Eléphant du PHP | 206 Messages

09 déc. 2005, 16:04

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.

ViPHP
pjl
ViPHP | 2119 Messages

09 déc. 2005, 16:05

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.