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 :

Utilisation de SQL LIKE [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Points : 92
    Points
    92
    Par défaut Utilisation de SQL LIKE
    Bonsoir

    J'ai dans ma base de donnée une table ayant plusieurs champs dont titre qui est pris comme thème.

    dans la première ligne de la table il ya dans le champ
    TITRE : Kennedy joue à la balle

    dans la deuxième ligne il ya :
    John va à l'école avec Kennedy

    dans la troisième ligne il ya :
    developpez.com est le forum préféré de kennedy

    Alors une fois dans ma page news lorsque je click sur le premier il me donne l'article associé mais juste en bas j'aimerai faire ressortir tout les article contenant par exemple (Kennedy, john)

    Alors je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table WHERE titre LIKE '%kennedy john%'
    Je m'attends a avoir les 2 dernière ligne du tableau mais aucune reponse.

    Alors pouvez vous m'aider SVP
    Merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 33
    Points
    33
    Par défaut
    bonjour,
    nul part il n'y a 'kennedy john'
    il faut écrire

    1 - si vous voulez les lignes qui contiennent john ou kennedy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE titre LIKE '%kennedy%' OR titre LIKE  '%john%'
    2 - mais j'ai plutôt l'impression que vous voulez les lignes qui contiennent et john et kennedy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE titre LIKE '%kennedy%' AND titre LIKE  '%john%'
    Je m'attends a avoir les 2 dernière ligne du tableau mais aucune reponse.
    A la vue des exemples il devrait y en avoir 1 ou 3 mais pas 2 lignes

    bonne soirée

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Points : 92
    Points
    92
    Par défaut
    A dire vrai les paramètres de la condition sont dynamiques alors je peux avoir plusieurs élément de test.

    et surtout il faut éviter de repéter la ligne contenant les paramètres.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 33
    Points
    33
    Par défaut
    re,
    dynamique c'est sûr.
    Ce sera du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE titre LIKE '%$nom%' AND titre LIKE  '%$prenom%'
    je peux avoir plusieurs élément de test
    Aurez-vous plus de 2 variables ?

    et surtout il faut éviter de repéter la ligne contenant les paramètres.
    Que voulez-vous dire ?

    Courage !

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Points : 92
    Points
    92
    Par défaut
    effectivement les variables venant de la base je peux avoir plus de 3 variables, alors comment les aligner dans la requêtes ?

    Pour l'autre je veux dire
    faut pas afficher 2 fois la même ligne qui respecte les conditions 2 fois

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 33
    Points
    33
    Par défaut
    bonjour,
    je ne viens pas souvent sur le forum.
    J'espère que vous avez résolu votre problème.
    Si ce n'est pas le cas :
    1-Cumulez les conditions simples dans votre condition complexe avec des OR ou des AND selon le cas.
    2-Utilisez le clause DISTINCT pour éliminer les doublons (SELECT DISTINCT ....)
    Bonne journée

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 33
    Points
    33
    Par défaut
    re
    je n'avais pas vu le [resolu]
    Bye

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation spéciale de LIKE
    Par tonyskn dans le forum Langage SQL
    Réponses: 5
    Dernier message: 19/07/2024, 10h36
  2. [SQL-Server] Utilisation de SQL Server avec PHP
    Par kagura dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/01/2006, 15h39
  3. [SQL] LIKE dans un sprintf ...
    Par banzaii dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 23/11/2005, 16h57
  4. Table ASCII utilisée par SQL Server
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/06/2005, 14h31
  5. Réponses: 2
    Dernier message: 06/10/2004, 18h09

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