J'ai essayé par un script dont je vais vous monter ci dessous mais j'ai pas arriver à un résultat complet :
Voila mon script :
<?php
$host="localhost";
$login="root";
$pass="";
$bd="biblio";
$cat=$_POST['categorie'];
if (isset($_POST['titre']) and isset($_POST['auteur']))
{
$titre=$_POST['titre'];
$auteur=$_POST['auteur'];
$motscles=$_POST['motscles'];
//Connexion à la base de donnée
$link= mysql_connect($host,$login,$pass) or exit(mysql_error());
$datab = mysql_select_db($bd, $link) or exit(mysql_error());
if ($cat = 'livre')
{
if (($titre == "")&&($auteur == "")&&($motscles == ""))
{
// Si aucun mot clé n'a été saisi,le script demande à l'utilisateur de bien vouloir préciser un mot clé
?>
<script language="javascript">
alert('Veuillez entrez un mot clé si vous voulez');
</script>
<?php
}
else
{
// On selectionne les enregistrements contenant le mot clé dans les Titre ou l'auteur
$query = "SELECT distinct count(Titre) FROM livres
WHERE (titre LIKE \"%$titre%\") OR (titre LIKE \"$titre%\") OR (titre LIKE \"%$titre\")";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
$Nombre = $row[0];
// Si aucun enregistrement n'est retourné, on affiche un message adéquat
if ($Nombre == "0")
{
?>
<script language="javascript">
alert('Aucun résultat ne correspond à votre recherche');
</script>
<?php
}
// Sinon, on affiche le nombre d'enregistrements correspondant et les résultats eux-mêmes
else
{
$query = "SELECT distinct Cote,Auteur,Titre FROM livres
WHERE (titre LIKE \"%$titre%\") or (titre LIKE \"$titre%\") or (titre LIKE \"%$titre\" )
ORDER by titre ASC";
$result = mysql_query($query);
// Si un seul enregistrement est trouvé, on affiche un message au singulier
if ($Nombre == "1")
{
?>
<div class="header_01">
<P> <?php echo " <a name=\"#resultat\"><h2><p> </p> <p>Un résultat trouvé</P></h2></a> <p>"; ?> </P>
</div>
<?php
}
// Dans le cas contraire le message est au pluriel...
else
{
?>
<div class="header_01">
<p> <?php echo " <a name=\"#resultat\"><h2>Résultat: $Nombre résultats trouvés</h2></a> <p>"; ?> </p>
</div>
<p>
<?php
}
while($row = mysql_fetch_row($result))
{
echo " <p>\n
<p align = justify><ul> <li><b>$row[2]</b></li></ul></p> <p> </p> \n
<p>\n
";
}
}
}
}
}
else {echo "la table n est pas livre"; }
?>
Quand je saisi un mot dans la zone du titre, ca marche c à dire elle m'affiche le résultat, mais mon problème consiste à :
1. j'ai fais un teste pour la catégorie mais ca ne marche pas
2. je veux aussi ajouter un test pour saisir un auteur et des mots clés
MONT BUT est :
faire la recherche selon ces critères : voir ce formulaire pour mieux comprendre :
<form method="post" action="recherche.php">
<p>
Titre <input type="text" name="titre" maxlength="200" size="50" />
<select name="categorie">
<option value="livre">Livre</option>
<option value="article">Article</option>
<option value="diplome">Diplome</option>
</select>
Auteur <input type="text" name="auteur" maxlength="200" size="50" />
Mots Clés <input type="text" name="motscles" size="50" />
<input type="submit" value="rechercher" name="rechercher" />
</p>
</p>
</form>
Veuillez m'aider s'il vous plait à résoudre mon problème J'attends vos réponses
Merci