Bonjour,
Voila comme dit dans le titre j’essaye de créer un petit module de recherche très simple.
Je débute un peu en php donc je rencontre quelque difficulté.
Donc j’ai pensé à quelques chose qui est peut être bon ou pas bon mais je n’arrive pas à l’appliquer. Je m’explique avec le code:
<?php
mysql_connect("localhost", "root", "xxx");
mysql_select_db("nom_db");
echo "
";
$reponse = mysql_query("SELECT * FROM lien_film WHERE titre='$titre' ");
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<?php echo $donnees['titre']; ?>
<?php
}
?>
Le but étant de trouvé un film répertorié dans ma base de donnée en entrant le titre dans le petit formulaire.
Donc dans un premier temps, on remplie le formulaire qui ne comporte qu’un seul champ: titre.
Si je suis mon idée , je voudrais que le titre écris et recherché par l’utilisateur soit égal à $titre
et ensuite je fini par recherché le titre = $titre dans ma base de donnée correspondant.
Mais je en vois pas ou ça bloque en faite.
Merci d’avance de votre aide.
PS: Je commence seulement par chercher le titre dans une seul base de donné mais mon but final et de faire en sorte de choisir de rechercher un titre dans la base de donné 1 ou 2 ( choix que l’on pourra faire avec un menu déroulant ) Donc si vous avez des idées n’hésitez surtout pas svp
continuer avec like, $reponse = mysql_query(“SELECT * FROM lien_film WHERE titre=’%” . mysql_real_escape_string($titre) . "%’ "); mais en utilisant % pour les jokers (j’ai mis mysql_real_escape_string pour t’éviter des injections SQL)
utiliser les index FULLTEXT, qui seront plus efficaces - voir la doc de mySQL à ce sujet.
Voila j’ai presque réussi mais par contre la recherche se fait par titre exacte comme tu as pu me prévenir. Au lieu de prendre tout les titre contenant le mot-clé marqué. Et de plus, ça ne trouve qu’un seul film sur les 41 que j’ai entré ( je les ai pas tous essayé bien sur )
<?php
mysql_connect("localhost", "root", "xxxx");
mysql_select_db("NomBdd");
echo "
";
$titre = $_POST['titre'];
$reponse = mysql_query("SELECT * FROM lien_film WHERE titre='$titre' ");
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<?php echo $donnees['titre']; ?>
<?php } ?>
Ce code est donc presque achevé non ? mais il manquequelque truc. Saurais-tu me dire quoi ?
Rectification : Ca ne trouve que les films écrit seulement en lettre ( sans chiffre ) et en un seul mot.
Erf dernière question : Comment affiché la liste des film au debut ( ca je sais faire ) et faire en sorte quel se retire apres une recherche. En gros, lancer une recherche au demarrage de la page comprenant tout les films.