IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête LIKE en MySQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut Requête LIKE en MySQL
    Bonjour je suis en train de faire une interface graphique en php pour ma base de données.

    Ma dernière partie consiste à écrire un mot dans une case et d'appuyer sur ok.
    Ce mot est un nom de film et je regarde un mot correspondant existe!
    mais ça ne fonctionne pas !

    pouvez-vous m'aider plz?

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <?php
    // connection à la base de données : serveur = localhost, utilisateur = root et pas de password
    $db = mysql_connect('localhost', 'root', '');  
    mysql_select_db('films',$db);                    
    ?>
     
    <?php
     
    ?>
     
    <?php
    <form method="post" action="choix_saga.php">
      $request=mysql_query('SELECT films.titre as film, films.titreVO, genres.genre,qualites.qualite,collections.collection, acteurs.prenom as act_prenom,acteurs.nom as act_nom, realisateurs.prenom as real_prenom,realisateurs.nom as real_nom,date_sortie,Duree
    				   			     FROM films
    						 	     inner join Genres
    							     ON films.codegenre=genres.codegenre
    								 inner join collections
    								 on films.idcollection=collections.idcollection
    								 inner join qualites
    								 on films.codequalite=qualites.codequalite
    								 inner join film_acteur
    								 on films.idfilm=film_acteur.idfilm
    								 inner join acteurs
    								 on film_acteur.idacteur=acteurs.idacteur
    								 inner join film_realisateur
    								 on films.idfilm=film_realisateur.idfilm
    								 inner join realisateurs
    								 on film_realisateur.idrealisateur=realisateurs.idrealisateur
    							     where films.titre LIKE '%$_POST['data']%'
    							     order by films.titre');
    </form>
     
     
     
    	     while ($result = mysql_fetch_array($req))
    	     {
    		   echo "<br/>"; 
     
    		   echo $result['titre'];
    		   echo " - ";
    		   echo $result['titreVO'];
    		   echo " - ";
    		   echo $result['collection'];
    		   echo " - ";
    		   echo $result['qualite'];
    		   echo "<br/>";
    	     } 
    	?>					
    <?php	
    mysql_close($db);  
    ?>

  2. #2
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonjour,
    Essaye de modifier comme ceci :

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut
    Voila, j'ai mis a recommencer ma requête avec la suggestion de notre cher modérateur mais rien n'y fait: j'ai un problème, il y a une faute ligne 42 :
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\divixotheque\nom_film.php on line 42
    Voila, sinon, quand je mets un mot, rien ne se passe, pas de requête faites, pas de réponse de mysql...rien...savez-vous pourquoi ?

    Mon code retravaillé est ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?php
    // connection à la base de données : serveur = localhost, utilisateur = root et pas de password
    $db = mysql_connect('localhost', 'root', '');  
    mysql_select_db('films',$db);                    
    ?>
    <fieldset>
    <form method="POST" action="nom_film.php">
    <input type="text" name="data" size="12"><br> 
    <input name="valider" type="submit" value="rechercher"/><br/>
    </fieldset>
    <?php
     
      $request=mysql_query('SELECT films.titre as film, films.titreVO, genres.genre,qualites.qualite,collections.collection, acteurs.prenom as act_prenom,acteurs.nom as act_nom, realisateurs.prenom as real_prenom,realisateurs.nom as real_nom,date_sortie,Duree
    				   			     FROM films
    						 	     inner join Genres
    							     ON films.codegenre=genres.codegenre
    								 inner join collections
    								 on films.idcollection=collections.idcollection
    								 inner join qualites
    								 on films.codequalite=qualites.codequalite
    								 inner join film_acteur
    								 on films.idfilm=film_acteur.idfilm
    								 inner join acteurs
    								 on film_acteur.idacteur=acteurs.idacteur
    								 inner join film_realisateur
    								 on films.idfilm=film_realisateur.idfilm
    								 inner join realisateurs
    								 on film_realisateur.idrealisateur=realisateurs.idrealisateur
    							     where films.titre LIKE %'.$_POST['data'].'%
    							     order by films.titre');
     
     
    echo $request;	  			 
     
    	     while ($result = mysql_fetch_array($request))
    	     {
    		   echo "<br/>"; 
     
    		   echo $result['titre'];
    		   echo " - ";
    		   echo $result['titreVO'];
    		   echo " - ";
    		   echo $result['collection'];
    		   echo " - ";
    		   echo $result['qualite'];
    		   echo "<br/>";
    	     } 
    	?>	
    </form>		
    <?php	
    mysql_close($db);  
    //	\'%$_POST["data"]%\'   avec ceci à la place de la suggestion ça a compilé sans erreurs mais toujours pas de réponses à ma requête!
    ?>

  4. #4
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Et avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    $mot = "%".$_POST['data']."%";
     
    $request=mysql_query("SELECT films.titre as film, films.titreVO, genres.genre,qualites.qualite,collections.collection, acteurs.prenom as act_prenom,acteurs.nom as act_nom, realisateurs.prenom as real_prenom,realisateurs.nom as real_nom,date_sortie,Duree
    				   			     FROM films
    						 	     inner join Genres
    							     ON films.codegenre=genres.codegenre
    								 inner join collections
    								 on films.idcollection=collections.idcollection
    								 inner join qualites
    								 on films.codequalite=qualites.codequalite
    								 inner join film_acteur
    								 on films.idfilm=film_acteur.idfilm
    								 inner join acteurs
    								 on film_acteur.idacteur=acteurs.idacteur
    								 inner join film_realisateur
    								 on films.idfilm=film_realisateur.idfilm
    								 inner join realisateurs
    								 on film_realisateur.idrealisateur=realisateurs.idrealisateur
    							     where films.titre LIKE '$mot'
    							     order by films.titre");
     
    ?>
    Et utilise mysql_fetch_assoc() au lieu de mysql_fetch_array() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    while ($result = mysql_fetch_assoc($req))
    	     {
    		   echo "<br/>"; 
     
    		   echo $result['titre'];
    		   echo " - ";
    		   echo $result['titreVO'];
    		   echo " - ";
    		   echo $result['collection'];
    		   echo " - ";
    		   echo $result['qualite'];
    		   echo "<br/>";
    	     }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut
    OK, j'ai mis tous vos changement mais ça ne marche toujours pas ! Je n'ai aucune erreur mais ça ne marche pas ^^

    Je n'ai pas le retour d'info désiré.

  6. #6
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 426
    Par défaut
    Bonjour,
    Rajoute mysql-error() apres ta requete qu'on sache quelle est l'erreur.
    Deja a premiere vue, pas de guillemets pour le like et la table genres semble s'appeler aussi Genres (perso, mon systeme est sensible à la casse).

    Bon courage !

    Sohnic

Discussions similaires

  1. Convertir une requête Acces en MySQL
    Par Creepy78 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 28/02/2006, 16h24
  2. Requête hyerarchique avec MySQL
    Par ingamo dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/02/2006, 21h39
  3. Requête sur DB mysql
    Par Lord_FEFF dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 09/11/2005, 19h16
  4. [SQL]Requêtes like
    Par joquetino dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/10/2005, 18h18
  5. Convertir une requête Access en MySQL
    Par iomega dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/03/2004, 09h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo