|
|
Bonjour,
Je vens ici pour chercher de l'aide car j'ai un probléme pour creer un moteur de recherche qui interroge une base de donnee, voici mon probleme.
D'un cote des membre enregistre des valeurs par le biais d'un formulaire, il remplisse les champs motcle1 - motcle2 - motcle3 ... jusqu a motcle8 . ici pas de souci les 8 champs s enregistre bien. mais ensuite pour rechercher les membres par moteur de recherche je veus rechercher dans 10 champs : les champs motcle1 à 8 + région + secteur activite ET condition de l'affichage du resultat le champ enligne='1'. le formulaire de recherche ce compose de :
1 champ secteur activte en liste deroulante,
1 champ region en liste deroulante,
et un champ texte ou on ecrit des mot separer par un espace.
le resultat je n'arrive pas à trouve le resultat de l'equatio pour recherche car je veus recuperer le mot dans le champ texte et chaque mot soit recherche dans chaque champ "motcle1 à 8" puis on verifi par and secteur activite and region and enlign=1.
Voici le code que j avais mis en place mais la j avais mis Huit champs pour interroger les champs motcle1 à8 de plus ca ne marche pas j ai des messages d erreur ou il m affiche pas le resultat :
Le formulaire :
<form action=resultatr.php method=post>
<input name="poste1" type="text" size="10" >
<input name="poste2" type="text" size="10" >
<input name="poste3" type="text" size="10" >
<input name="poste4" type="text" size="10" >
<input name="poste5" type="text" size="10" >
<input name="poste6" type="text" size="10" >
<input name="poste7" type="text" size="10" >
<input name="poste8" type="text" size="10" >
<select name=region style="width:290">
<OPTION VALUE=''>Indifférent</option>
<OPTION VALUE='1'>region1</option>
<OPTION VALUE='2'>region2</option></select>
<SELECT align=top name="secteuractivite1" style="width:300px" >
<option value="" selected>Tous les Secteurs</option>
<option value="1" selected>Secteur 1</option>
<option value="2" selected>Secteur 2</option></select>
<input type=submit name=submit value=Rechercher> </form>
Voici ma prog php :
$poste1 = addslashes($_POST['poste1']);
$poste2 = addslashes($_POST['poste2']);
$poste3 = addslashes($_POST['poste3']);
$poste4 = addslashes($_POST['poste4']);
$poste5 = addslashes($_POST['poste5']);
$poste6 = addslashes($_POST['poste6']);
$poste7 = addslashes($_POST['poste7']);
$poste8 = addslashes($_POST['poste8']);
$sch = array();
if (!empty($poste1)) { $sch[] = "motcle1 like '%$_POST[poste1]%' or motcle2 like '%$_POST[poste1]%' or motcle3 like '%$_POST[poste1]%' or motcle4 like '%$_POST[poste1]%' or motcle5 like '%$_POST[poste1]%' or motcle6 like '%$_POST[poste1]%' or motcle7 like '%$_POST[poste1]%' or motcle8 like '%$_POST[poste1]%' "; }
if (!empty($poste2)) { $sch[] = "motcle1 like '%$_POST[poste2]%' or motcle2 like '%$_POST[poste2]%' or motcle3 like '%$_POST[poste2]%' or motcle4 like '%$_POST[poste2]%' or motcle5 like '%$_POST[poste2]%' or motcle6 like '%$_POST[poste2]%' or motcle7 like '%$_POST[poste2]%' or motcle8 like '%$_POST[poste2]%' "; }
if (!empty($poste3)) { $sch[] = "motcle1 like '%$_POST[poste3]%' or motcle2 like '%$_POST[poste3]%' or motcle3 like '%$_POST[poste3]%' or motcle4 like '%$_POST[poste3]%' or motcle5 like '%$_POST[poste3]%' or motcle6 like '%$_POST[poste3]%' or motcle7 like '%$_POST[poste3]%' or motcle8 like '%$_POST[poste3]%' "; }
if (!empty($poste4)) { $sch[] = "motcle1 like '%$_POST[poste4]%' or motcle2 like '%$_POST[poste4]%' or motcle3 like '%$_POST[poste4]%' or motcle4 like '%$_POST[poste4]%' or motcle5 like '%$_POST[poste4]%' or motcle6 like '%$_POST[poste4]%' or motcle7 like '%$_POST[poste4]%' or motcle8 like '%$_POST[poste4]%' "; }
if (!empty($poste5)) { $sch[] = "motcle1 like '%$_POST[poste5]%' or motcle2 like '%$_POST[poste5]%' or motcle3 like '%$_POST[poste5]%' or motcle4 like '%$_POST[poste5]%' or motcle5 like '%$_POST[poste5]%' or motcle6 like '%$_POST[poste5]%' or motcle7 like '%$_POST[poste5]%' or motcle8 like '%$_POST[poste5]%' "; }
if (!empty($poste6)) { $sch[] = "motcle1 like '%$_POST[poste6]%' or motcle2 like '%$_POST[poste6]%' or motcle3 like '%$_POST[poste6]%' or motcle4 like '%$_POST[poste6]%' or motcle5 like '%$_POST[poste6]%' or motcle6 like '%$_POST[poste6]%' or motcle7 like '%$_POST[poste6]%' or motcle8 like '%$_POST[poste6]%' "; }
if (!empty($poste7)) { $sch[] = "motcle1 like '%$_POST[poste7]%' or motcle2 like '%$_POST[poste7]%' or motcle3 like '%$_POST[poste7]%' or motcle4 like '%$_POST[poste7]%' or motcle5 like '%$_POST[poste7]%' or motcle6 like '%$_POST[poste7]%' or motcle7 like '%$_POST[poste7]%' or motcle8 like '%$_POST[poste7]%' "; }
if (!empty($poste8)) { $sch[] = "motcle1 like '%$_POST[poste8]%' or motcle2 like '%$_POST[poste8]%' or motcle3 like '%$_POST[poste8]%' or motcle4 like '%$_POST[poste8]%' or motcle5 like '%$_POST[poste8]%' or motcle6 like '%$_POST[poste8]%' or motcle7 like '%$_POST[poste8]%' or motcle8 like '%$_POST[poste8]%' "; }
if (!empty($region))
{
$sch[] = "departementrech = \"$_POST[region]\" ";
}
if (!empty($secteuractivite1))
{
$sch[] = "secteuractivite like '%$_POST[secteuractivite1]%' ";
}
$requete = "select * from contactcv ".(($sch)?"where " .join(" or ", $sch):"")." and enligne='1' ORDER BY idcv ASC ";
quand je m'ai enligne=1 sa plante et sinon aucun resultat n est affiche.
Merci de m aide à trouve un moyen de faire une bonne recherche .
@+
|