Poblème Création d'un petit module recherche

Résolu/Fermé
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013 - 22 août 2009 à 04:09
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013 - 25 août 2009 à 11:41
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 "<form method=\"get\">
<input name=\"$titre\" type=\"text\"/>
<input type=\"submit\" value=\"rechercher\" name=\"submit\" />
</form>";

$reponse = mysql_query("SELECT * FROM lien_film WHERE titre='$titre' ");

while ($donnees = mysql_fetch_array($reponse) )
{
?>

<p><?php echo $donnees['titre']; ?></p>

<?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

A voir également:

36 réponses

kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
22 août 2009 à 14:51
Désolé je vuolais dire de table effectivement
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
22 août 2009 à 14:56
ok ok ok
tu ajoute un champ combo et là
$titre = $_POST['titre'];
$type = $_POST['type']; <==== ici c'est la combo qui contient le type selectionner

if($type == "film")
{
$reponse = mysql_query("SELECT * FROM lien_film WHERE titre LIKE %'$titre'% ");
}
elseif($type == "serie")
{
$reponse = mysql_query("SELECT * FROM list_serie WHERE titre LIKE %'$titre'% ");
}



Mais franchement à ta place je créerais une seule table et là j'ajouterais un attibut de plus que je nommerais "type_video" qui prendra le type de video lors de l'enregistrement d'une video
et pour la recherche je ferais seulement ça

$titre = $_POST['titre'];
$type = $_POST['type']; <==== ici c'est la combo qui contient le type selectionner

$reponse = mysql_query("SELECT * FROM lien_film WHERE titre LIKE %'$titre'% AND type_video = '".$type."'");


cdlt.
0
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
22 août 2009 à 14:59
Oui je vois ce que tu veux dire je test les deux et je vois ce qui me conviens bien car j'hésite à recréé certaines table ( le site étant créé depuis un an , disons que je le remet à neuf ). Donc je verrai selon.
0
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
22 août 2009 à 15:28
j'ai testé la première méthode mais y a un problème de code: à la ligne 35

<?php

mysql_connect("localhost", "root", "xxxxx");
mysql_select_db("NomDB");

echo "<form method=\"post\" action=\"list_film.php\">
<input name=\"titre\" type=\"text\"/>
<select name=\"table\" type=\"text\"/>
<option name=\"film\">Films</option>
<option name=\"serie\">Séries</option>
</select>
<input type=\"submit\" value=\"rechercher\" name=\"submit\" />
</form>";

$titre = $_POST['titre'];
$table = $_POST['table'];

if($table == "film")
{
$reponse = mysql_query("SELECT * FROM lien_film WHERE titre LIKE '%".$titre."%'");
}
elseif($type == "serie")
{
$reponse = mysql_query("SELECT * FROM fiches_series WHERE titre LIKE '%".$titre."%'");
}

while ($donnees = mysql_fetch_array($reponse) ) <==== line 35
{
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
22 août 2009 à 15:32
ok ok
<option value=\"film\">Films</option>
<option value=\"serie\">Séries</option>
0
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
22 août 2009 à 15:34
Toujours même problème à la ligne 35 même en ayant remplacer name par value
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
22 août 2009 à 15:42
ok ton code est presque bon
là reste à verifier si l'erreur ne proviens pas de la table essaie de me donner le texte exacte de l'erreur ainsi que les structures de tes deux tables
0
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
22 août 2009 à 15:50
Code d'erreur : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/147/sda/2/7/...../....../....../list_film.php on line 35

table des films :
id int(11) auto increment
lien varchar(255)
titre varchar(255)
cat varchar(255)
timestamp Bigint(20)

Table series
id int(11) auto increment
titre varchar(255)
info text
present text
image text
auteur text
timestamp bigint(20)
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
22 août 2009 à 15:55
ok et où sont les deux tables (ou vues) lien_film et fiches_series je veux leurs structures car c'est MySQL qui genére l'erreur
0
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
22 août 2009 à 15:56
Je comprend pas ce que tu veux savoir désolé. Ils sont tout les deux dans la même base de données. En tout cas, sur d'autre page j'arrive a récupérer les informations ( exemple: j'ai une page ou j'ai la liste des films classé dans l'ordre alphabétique )
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
22 août 2009 à 16:01
ok c'est simple
je veux juste que tu verifies que le champs "titre" se trouve dans la table "lien_film" et aussi dans la table "fiches_series" fais attention à la casse et aux "s"
0
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
22 août 2009 à 16:18
Oui il y est dans les deux table , il y a titre
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
22 août 2009 à 16:55
ok
excuse moi
si
ça ne te derange pas tu me prend hors forum pour que nous tirons celà au claire.
sinon
je demandais les structures des deux tables lien_film et fiches_series

car le probleme viens de là. passe moi leurs structures et je te dirais ce qui ne va pas.
0
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
22 août 2009 à 16:57
Si tu as msn pas de problème : mon adresse est kevin.yot@hotmail.fr
0
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
22 août 2009 à 17:02
J'attend que tu te connecte
0
kepsylis Messages postés 29 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 7 février 2013
25 août 2009 à 11:41
Erf derniere 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.
0