Fonction recherche avec des mots-clés.

Répondre
PHPDebutant
le 31/10/2005 à 12:48
PHPDebutant
C'est bon , j'ai reussi avec les LIKE.
Voici le code :
<?php
/*
* - Script : Le forum
* - Version : 1.1
* - Date : 20 juillet 2005
* - Fichier : search.php
*/
/* Fichier de configuration */
require('config.inc.php');
/* Haut du forum */
include('haut.php');
/* Vérification du formulaire */
if (isset($_POST['mot_cles']) && isset($_POST['utilisateur']))
{
if ($_POST['mot_cles'] != NULL && $_POST['utilisateur'] == NULL)
{
mysql_connect($host, $login, $password); // Connexion à MySQL
mysql_select_db($base);


$mots_cles = explode(" ",$_POST['mot_cles']);
$bout_requette = implode("%' or message LIKE '%",$mots_cles);

$reponse = mysql_query("SELECT * FROM messages WHERE message LIKE '%$bout_requette%'");
$donnees = mysql_fetch_array($reponse);
if ($donnees[0] != NULL)
{
$erreur = '<a href="viewtopic.php?t='.$donnees['id'].'">'.$donnees['titre'].'</a>';
}
elseif ($donnees[0] == NULL)
{
$erreur = "Votre recherche n'a donnée aucun resultat.";
}
}
elseif ($_POST['mot_cles'] == NULL && $_POST['utilisateur'] != NULL)
{
mysql_connect($host, $login, $password); // Connexion à MySQL
mysql_select_db($base);

$reponse = mysql_query("SELECT * FROM messages WHERE nom='".$_POST['utilisateur']."'");
$donnees = mysql_fetch_array($reponse);

if ($donnees[0] != NULL)
{
$erreur = '<a href="viewtopic.php?t='.$donnees['id'].'">'.$donnees['titre'].'</a>';
}
elseif ($donnees[0] == NULL)
{
$erreur = "Votre recherche n'a donnée aucun resultat.";
}
}

}
?>
<form action="search.php" method="POST">
Mot clés :<input type="text" name="mot_cles" />

Pseudo : <input type="text" name="utilisateur" />

<input type="submit" value="Ok" />

<?
if (isset($erreur))
{
echo $erreur;
}
?>
</form>
<?
echo '';
/* Bas du forum */
include('bas.php');
?>

++
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours