ok ben je vais utiliser match alors
mais le problème c'est que je ne sais pas comment l'integrer dans mes pages
car quand je recupère le champs texte de mon formulaire j'utilise la fonction implode
donc je faisais mon select dans IN mais comment faire avec MATCH ?pour que si dans le champs de texte du formulaire 2 ou 3 mots sont tapés ça fonctionne
merci d'avance pour votre aide
Formulaire:
<body>
<div id="Layer2">
<form id="form1" name="form1" method="get" action="integrationmotcleetlienmatch.php">
<table width="527" height="160" border="0" cellpadding="0">
<tr>
<td width="144"><input name="mot" type="text" id="mot"></td>
<td width="186"><div align="center">
<div align="right">
<select name="quoi" id="quoi">
<option value="avion">marre</option>
<option value="voiture">voiture</option>
</select>
</div>
</div></td>
<td width="189"><div align="center">
<select name="endroit" id="endroit">
<option>touslesdépartements</option>
<option value="13009">13009</option>
</select>
</div></td>
</tr>
<tr>
<td height="58" colspan="3"><div align="center">
<input type="submit" name="Submit" value="rechercher" />
</div></td>
</tr>
</table>
</form>
</div>
</body>
et ma 2 ème page:
<?php
$liendb = mysql_connect("serveur","user","pass");
mysql_select_db ("nombase");
function protection(&$value) {
$value = (get_magic_quotes_gpc())? mysql_real_escape_string(stripslashes(trim($value))) : mysql_real_escape_string(trim($value));
return $value;
}
$quoi = !empty($_GET['quoi'])? protection($_GET['quoi']) : '';
$endroit = !empty($_GET['endroit'])? protection($_GET['endroit']) : '';
$sql= "SELECT texte,titre,prix,id FROM annonce1 WHERE categorie = '" . $quoi . "' AND departement = '" . $endroit . "'";
if (empty($_GET['mot']) === FALSE) {
$tab = explode(' ', $_GET['mot']);
array_walk($tab, 'protection');
$IN = implode("','", $tab);
$sql .= " AND MATCH (titre,texte,prix) AGAINST ('$IN')";
}
$resultat_sql = mysql_query($sql) or die (mysql_error());
$essai= mysql_fetch_array($resultat_sql);
if (empty ($essai))
die ("Il n'y a aucun résultat pour votre requète");
else
$nombreDeMessagesParPage = 2;
$n =mysql_num_rows($resultat_sql);
$nombresDePages =ceil($n/$nombreDeMessagesParPage );
echo 'Page : ';
for ($i = 1 ; $i <= $nombresDePages ; $i++)
{
echo '<a href="integrationmotcleetlienmatch.php?page='.$i.'&quoi='.$quoi.'&endroit='.$endroit.'&mot='.$mot.'">'. $i .'</a> ';
}
if (isset($_GET['page']))
{
$page = $_GET['page']; }
else
{
$page = 1; }
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$sqll= "SELECT texte,titre,prix,id FROM annonce1 WHERE categorie = '" . $quoi . "' AND departement = '" . $endroit . "'";
if (empty($mot) === FALSE) {
$tab = explode(' ', $mot);
array_walk($tab, 'protection');
$IN = implode("','", $tab);
$sqll .= " AND MATCH (titre,texte,prix) AGAINST ('$IN')";
}
$sqll .= " ORDER BY id DESC LIMIT " . $premierMessageAafficher . ", " . $nombreDeMessagesParPage;
$resultatt_sql = mysql_query($sqll) or die (mysql_error());
?>
<table style="border:1px solid black; width:100%">
<?php
while ($resultat = mysql_fetch_assoc($resultatt_sql))
{ ?>
<tr>
<td><a href="description5bis.php?<?php echo 'id='.intval($resultat['id']) ?>"><?php echo htmlentities($resultat['titre'])?></a></td>
</tr>
<?php }
mysql_free_result($resultatt_sql);
mysql_close($liendb);
?>