moteur de recherche multicritere
Posté : 06 janv. 2006, 12:47
Bonjour,
j'essaie de créer un moteur de recherche muliticritere ou on peut rechercher des infos dans deux champs distincts qui recherche dans un db sql dans deux champs differents mais dans la meme table...
voici le code et l'erreur qui me revient:
il me retourne l'erreur suivante:
Parse error: parse error, unexpected $ in /var/www/data/lri/8/K/4/B/8K4B58RP/docs/fournisseur-.php on line 193
que dois je faire?
Merci pour votre aide..
j'essaie de créer un moteur de recherche muliticritere ou on peut rechercher des infos dans deux champs distincts qui recherche dans un db sql dans deux champs differents mais dans la meme table...
voici le code et l'erreur qui me revient:
Code : Tout sélectionner
<html>
<head>
<title>Résultat de la recherche</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#9999FF" vlink="#9999FF" alink="#9999FF">
<font face="Verdana" size=2>
<form name="entreprise" form action="fournisseur.php" method="post">
<div align="center"><font size="1">Rechercher par Entreprise Fournisseur:</font>
<input type="text" name="mot" size="20">
<input type="submit" value="Rechercher">
</div>
</form>
<form name="appareillage" form action="fournisseur.php" method="post">
<div align="center"><font size="1">Rechercher par Matériel </font>
<input type="text" name="mot" size="20">
<input type="submit" value="Rechercher">
</div>
</form>
</font>
<p><font face="Verdana" size=2>
<?
/******************************************************************
* VARIABLES A MODIFIER
******************************************************************/
// NOMBRE DE RESULTATS PAR PAGE
$limit=6;
// NOM DE CE SCRIPT
$script_name="fournisseur.php";
// SERVEUR SQL
$sql_serveur="";
// LOGIN SQL
$sql_user="";
// MOT DE PASSE SQL
$sql_passwd="";
// BASE DE DONNEE
$sql_bdd="";
// RECHERCHE AVEC TOUS LES MOTS : METTEZ "and"
// RECHERCHER LES PAGES QUI CONTIENNENT AU MOINS UN MOT : METTEZ "or"
$et_ou="or";
/******************************************************************
* PROGRAMME PRINCIPAL
******************************************************************/
$db_link = mysql_connect("$sql_serveur","$sql_user","$sql_passwd");
$page = isset($_GET['page']) ? $_GET['page'] : 0;
$mot = isset($_POST['mot']) ? $_POST['mot'] : (isset($_GET['mot']) ? $_GET['mot'] : "");
$mot=strtolower($mot);
$mots=split(" ",$mot);
$nombre_mots=count($mots);
$z=1;
$texte="Pages contenant <b>"$mots[0]"</b>";
$phrase="'%$mots[0]%'";
while($z<$nombre_mots)
{
$phrase.=" ".$et_ou." mots like '%$mots[$z]%'";
$texte.=" ";
if($et_ou=="or"){$texte.="et";}else{$texte.="ou";}
$texte.=" <b>"$mots[$z]"</b>";
$z++;
}
if(!isset($debut)) {
$debut=0;
}
if(!isset($page)) {
$page=0;
}
$debut=$page*$limit;
// NOMBRE TOTAL D'ENREGISTREMENTS REPONDANT A LA REQUETE
if(extract($_POST))
{
//Si le champ entreprise est poster
if($cherche = $_POST['entreprise'])
{
$requete=mysql_db_query("$sql_bdd","select count(*) from recherche where mots like $phrase order by id",$db_link);
$nb_total=mysql_result($requete,0,"count(*)");
$requete=mysql_db_query("$sql_bdd","select * from recherche where mots like $phrase limit $debut,$limit",$db_link);
$num=mysql_num_rows($requete);
if(extract($_POST))
{
//Si le champ appareillage est poster
if($cherche = $_POST['appareillage'])
{
$requete=mysql_db_query("$sql_bdd","select count(*) from recherche where Produits like $phrase order by id",$db_link);
$nb_total=mysql_result($requete,0,"count(*)");
$requete=mysql_db_query("$sql_bdd","select * from recherche where Produits like $phrase limit $debut,$limit",$db_link);
$num=mysql_num_rows($requete);
// DEFINITION DU MESSAGE A AFFICHER
if ($num==0) {echo "Désolé, aucune page de ce site ne contient <b>$mot</b>...";}
else if ($mot=="") {echo "<font size=1>Veuillez saisir un ou plusieurs mot-clés avant de cliquer sur 'OK' !</font>";}
else if (strlen($mot)<2) {echo "Veuillez saisir au moins 2 caractères.";}
// AFFICHAGE DES RESULTATS
else {
echo "<b>$nb_total</b> réponse";
if ($nb_total>1) {echo "s";}
echo "<br>$texte";
$i=0;
while($i<$num)
{
$url=mysql_result($requete,$i,"url");
$Labo=mysql_result($requete,$i,"mots");
$Adresse=mysql_result($requete,$i,"Adresse1");
$Adresse1=mysql_result($requete,$i,"Adresse2");
$Tel=mysql_result($requete,$i,"Tel");
$Fax=mysql_result($requete,$i,"Fax");
$Site=mysql_result($requete,$i,"web");
$Prod=mysql_result($requete,$i,"Produits");
echo "<font size=1><br><br><a href=\"$url\"><b>$Labo</b></a><br>$Adresse<br><br>$Adresse1<br><br>$Tel<br><br>$Fax<br><br>$Prod<br><br>$Site<br></font><font size=1>$url</font>\n";
$i++;
}
echo "<br><br>";
// AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST
// (LA PREMIERE PAGES EST 0)
if ($page>0)
{
$precedent=$page-1;
print "<a href=\"$script_name?page=$precedent&mot=$mot\">PRECEDENT</a> \n";
}
// AFFICHAGE DES NUMEROS DE PAGE
$i=0;$j=1;
if($nb_total>$limit)
{
while($i<($nb_total/$limit))
{
if($i!=$page){echo "(<a href=\"$script_name?page=$i&mot=$mot\">$j</a>) ";}
else {echo "<b>($j)</b> ";}
$i++;$j++;
}
}
// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($debut+$limit<$nb_total)
{
$suivant=$page+1;
echo "<a href=\"$script_name?page=$suivant&mot=$mot\">SUIVANT</a>";
}
}
// DECONNEXION DE LA BASE DE DONNEE
mysql_close($db_link);
?>
</font></p>
<p> </p>
</body>
</html>
Parse error: parse error, unexpected $ in /var/www/data/lri/8/K/4/B/8K4B58RP/docs/fournisseur-.php on line 193
que dois je faire?
Merci pour votre aide..