J'ai un code de recherche qui sert à chercher des livres venant d'une base de donnée suivant leur titre ou auteur, et ca marche mais mon problème est :
1- j'aimerai bien ne pas prendre en considération les majuscules et minuscules car le résultat s'affiche faux, c àd si j'écris le titre en minuscule le résultat n'affiche pas les titres en majuscules et inversement.
2- Ma recherche est multicritères càd elle dépend du titre ou de l'auteur saisi, mon problem c'est : si je rempli les 2 champs (titre et auteur) elle ne prends en considération que le premier (le titre)
Voici ce que j'ai fais comme code, veillez m'aider car j'arrive pas à trouver une solution.
include "connexion.php";
if (isset($_POST['titre']) and isset($_POST['auteur']) )
{
$titre= ($_POST['titre']);
$auteur= ($_POST['auteur']);
if (($titre == "")&&($auteur == ""))
{
// 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
{
if ($titre != "")
{
// 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\" )) ";
$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%\")
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
";
}
}
}
Jj'attends votre aide, Merci d'avance.