probleme sur la realisation d'un moteur de recherche
Hors ligneSnap200 Le 18/07/2005 à 17:33 Profil de Snap200 Configuration de Snap200

Existe t'il une autre maniere d'ecrire ma requete
Hors ligneAnthony Le 18/07/2005 à 18:12 Profil de Anthony Configuration de Anthony

Admin
Tu peux enlever les parenthèses inutiles après les AND, sinon après je peux pas le savoir, tout dépend de ce que tu souhaites faire et de la structure de ta table.
--

Hors ligneSnap200 Le 18/07/2005 à 18:35 Profil de Snap200 Configuration de Snap200

Je vienS de rajouté ceci a ma requete "  or die(mysql_error());  "
<?php $requete=mysql_db_query("$sql_bdd","select count(*) from cv WHERE MATCH ( ref , titre,  nom, code, ville, fonction, region1, nom_entr1,prec_ent, nom_entr2 ) AGAINST ('$phrase') AND fonction LIKE '$fonction' AND niveau LIKE '$niveau'",$db_link)  or die(mysql_error()); echo "$requete "; $nb_total=mysql_result($requete,0,"count(*)"); $requete=mysql_db_query("$sql_bdd","select * from cv WHERE MATCH ( ref , titre , nom ,code, ville, fonction, region1, nom_entr1, prec_ent, nom_entr2) AGAINST ('$phrase') AND fonction LIKE '$fonction' AND niveau LIKE '$niveau' limit $debut,$limit",$db_link) or die(mysql_error()) ; $num=mysql_num_rows($requete); ?>

J'ai ceci comme erreur lorsque je lance une recherche sur un nom (duboi) existant dans ma base:

Unknown column 'duboi' in 'where clause'



La je pige plus...
Hors ligneAnthony Le 18/07/2005 à 19:28 Profil de Anthony Configuration de Anthony

Admin
Ton champ duboi n'existe pas dans ta table.

Essaie d'écrire ce que donne ta requête en fait, tu fais un echo $requete, et avant tu récupères dans une variable ta requête finale (tu vois ce que je veux dire) pour voir la requête que mysql va faire.
--

Hors ligneSnap200 Le 27/07/2005 à 16:22 Profil de Snap200 Configuration de Snap200

Aprés plusieurs essai, des journée de galére (de debutant) . OUFf!!!! , il marche . les recherches se pessa bien , j'ai rajouté des  deroulant pour affiné la recherche .
Mais le petit souci (comme par hasard , le chemin du debutant est semmé d'erreur et de warnning)) , c'est que les resultat de le recherche apparraissent dans la meme page.

Enfaite ,J'ai trouvé le moyen de faire apparraitre le resultat de ma rechercche sur plusieurs pour un cas bien precis. celui où je n'ai qu'un champ qui me permet de faire une recherche .

Hors moi j'ai a la fois un champ de recherche mais aussi des menu deroulant (qui servent a affinné la recherche) .
Si quelqu'un peut m'aider UN GRAND MERCI D'AVANCE.
Voici danc la requete dont je souhaite que le resultat soit sur plusieurs page ;

<?php $recherche = $_POST['recherche']; $niveau=$_POST['niveau']; $ann_exp=$_POST['ann_exp']; $fonction=$_POST['fonction']; $mobil=$_POST['mobil']; $requete = "SELECT * FROM cv WHERE 1 = 1 AND"; if (!empty($recherche)) {     $requete .= " MATCH ( ref, titre, nom, code, ville, fonction, region1, nom_entr1, prec_ent, nom_entr2 ) AGAINST ( '$recherche' IN BOOLEAN MODE )"; } if (!empty($niveau)) {     $requete .= " AND niveau = '".$niveau."'"; } if (!empty($ann_exp)) {     $requete .= " AND ann_exp = '".$ann_exp."'"; } if (!empty($fonction)) {     $requete .= " AND fonction = '".$fonction."'"; } if (!empty($mobil)) {     $requete .= " AND mobil = '".$mobil."'"; } $result = mysql_query($requete); if ($result) {      if (mysql_num_rows($result) == 0) {     // Si il n'y a pas de résultats     echo "<center><b>Pas de Résultat</b></center><br>";   } else { while ($tablo = mysql_fetch_object($result)) {              print "<TR>"; print "<TD><BR></TD>"; ****** ***** *** ?>
Et encors merci pour votre aide .
Hors ligneAnthony Le 27/07/2005 à 19:48 Profil de Anthony Configuration de Anthony

Admin
Tu peux utiliser la clause LIMIT pour un affichage sur plusieurs pages. Ta requête ressemblera à ceci pour 20 enregistrements par page :

<?php      mysql_query("SELECT champ,champ2... FROM table WHERE condtition LIMIT ".$debut.",20"); ?>

ici la variable $debut contient un nombre qui indiquera à partir de quels enregistrements commencer. Bref si tu es à la page 1, il faudra que $debut vaille 0, si tu es à la page 2, il faudra que $debut vaille 20, etc...
--

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels