Moteur de recherche
adama3636
Messages postés
67
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrai savoir si la syntaxe suivante est bonne pour une recherche de membre dans un site web de rencontre(je me suis deja connecte a la base):
$reponse=mysql_query("SELECT * FROM etudiants WHERE $nom OR $prenom OR $nom_filiere OR $annee_promo OR $niveau_promo") die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error());
while($donnees=mysql_fetch_array($reponse))
{
echo $donnees['nom']."<br/>";
echo $donnees['prenom']."<br/>";
echo $donnees['nom_filiere']."<br/>";
echo $donnees['annee_promo']."<br/>";
echo $donnees['niveau_promo']."<br/>";
echo $donnees['profession']."<br/>";
}
Je voudrai savoir si la syntaxe suivante est bonne pour une recherche de membre dans un site web de rencontre(je me suis deja connecte a la base):
$reponse=mysql_query("SELECT * FROM etudiants WHERE $nom OR $prenom OR $nom_filiere OR $annee_promo OR $niveau_promo") die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error());
while($donnees=mysql_fetch_array($reponse))
{
echo $donnees['nom']."<br/>";
echo $donnees['prenom']."<br/>";
echo $donnees['nom_filiere']."<br/>";
echo $donnees['annee_promo']."<br/>";
echo $donnees['niveau_promo']."<br/>";
echo $donnees['profession']."<br/>";
}
A voir également:
- Moteur de recherche
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Copernic moteur de recherche - Télécharger - Navigateurs
- Copernic Desktop Search - Télécharger - Utilitaires
- Recherche de pairs utorrent ✓ - Forum Téléchargement
5 réponses
essaye d'utiliser where like '%%' avec le like et les %, ta recherche sera moins précise et donnera plus de résultat.
par exemple si tu cherche "jour"
la requete enverra (si c'est dans la table évidemment :p)
jour
bonjour
journée
etc
EDIT : je pense que si une de tes variable par exemple $prenom ne contient rien, cela donnera "$nom OR OR $..." et il y aura une erreur mais a vérifier !
a+
par exemple si tu cherche "jour"
la requete enverra (si c'est dans la table évidemment :p)
jour
bonjour
journée
etc
EDIT : je pense que si une de tes variable par exemple $prenom ne contient rien, cela donnera "$nom OR OR $..." et il y aura une erreur mais a vérifier !
a+
j'ai aissaye de le remplacer et ca ma donner
$reponse=mysql_query("SELECT * FROM etudiants WHERE nom='$nom' LIKE '%$nom%' OR prenom='$prenom' LIKE '%$prenom%' OR nom_filiere='$nom_filiere' LIKE '%$nom_filiere%' OR annee_promo='$annee_promo' LIKE '%annee_promo%' OR niveau_promo='$niveau_promo' LIKE '%$niveau_promo%'") die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error());
while($donnees=mysql_fetch_array($reponse))
{
echo $donnees['nom']."<br/>";
echo $donnees['prenom']."<br/>";
echo $donnees['nom_filiere']."<br/>";
echo $donnees['annee_promo']."<br/>";
echo $donnees['niveau_promo']."<br/>";
echo $donnees['profession']."<br/>";
}
mais ca me donne toujours l'erreur : Parse error: parse error in c:\program files\easyphp1-8\www\licence2teleinf\rencontre.com\script_rechercher_1.php on line 9 ( la ligne commencant par "$reponse=mysql_query("SELECT ...")
$reponse=mysql_query("SELECT * FROM etudiants WHERE nom='$nom' LIKE '%$nom%' OR prenom='$prenom' LIKE '%$prenom%' OR nom_filiere='$nom_filiere' LIKE '%$nom_filiere%' OR annee_promo='$annee_promo' LIKE '%annee_promo%' OR niveau_promo='$niveau_promo' LIKE '%$niveau_promo%'") die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error());
while($donnees=mysql_fetch_array($reponse))
{
echo $donnees['nom']."<br/>";
echo $donnees['prenom']."<br/>";
echo $donnees['nom_filiere']."<br/>";
echo $donnees['annee_promo']."<br/>";
echo $donnees['niveau_promo']."<br/>";
echo $donnees['profession']."<br/>";
}
mais ca me donne toujours l'erreur : Parse error: parse error in c:\program files\easyphp1-8\www\licence2teleinf\rencontre.com\script_rechercher_1.php on line 9 ( la ligne commencant par "$reponse=mysql_query("SELECT ...")
ok,
alors dabord le where like s'utilise comme ceci
WHERE nom LIKE '%$nom%' OR LIKE ...
Tu ne doit pas mettre de valeur entre where et like ;)
ensuite, mais un "or" juste avant ton die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error())
Ou enlève le, chez moi, parfois c'est ça qui faisait planter le code.
Pour "LIKE '%annee_promo%'" tu n'a pas mi annee_promo en variable, c'est normal?
Je pense que ça devrait aller après ça.
alors dabord le where like s'utilise comme ceci
WHERE nom LIKE '%$nom%' OR LIKE ...
Tu ne doit pas mettre de valeur entre where et like ;)
ensuite, mais un "or" juste avant ton die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error())
Ou enlève le, chez moi, parfois c'est ça qui faisait planter le code.
Pour "LIKE '%annee_promo%'" tu n'a pas mi annee_promo en variable, c'est normal?
Je pense que ça devrait aller après ça.
tu ne peux pas mettre dans ton WHERE à la fois = et LIKE pour un même champ ou alors il faut faire un autre OR
et il faut or die et pas die (si la requeette ne fonctionne pas on fait die)
et dans ta trace d'erreur tu mets $SQL où est cette variable ?
fais comme ça:
saches tout de même que avec LIKE tu sortira tous les enregistrements "approchants"
et il faut or die et pas die (si la requeette ne fonctionne pas on fait die)
et dans ta trace d'erreur tu mets $SQL où est cette variable ?
fais comme ça:
$SQL="SELECT * FROM etudiants WHERE nom LIKE '%$nom%' OR prenom LIKE '%$prenom%' OR nom_filiere LIKE '%$nom_filiere%' OR annee_promo LIKE '%annee_promo%' OR niveau_promo LIKE '%$niveau_promo%'"; $reponse=mysql_query($SQL) or die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error());
saches tout de même que avec LIKE tu sortira tous les enregistrements "approchants"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question