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

Requêtes MySQL Discussion :

Problème requête MySQL


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème requête MySQL
    Salut les gens,

    Je previens je ne suis pas un bête du sql. Voilou, j'ai un soucis de requête.
    J'ai une table "news", avec un champ "titre".
    J'aimerais pouvoir retourner toutes les news où dans le titre il y a par exemple le mot "ciel".
    J'ai essayé cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM news WHERE titre LIKE '%ciel%'
    Ca marche, problême il me retourne tous les titres ou il y a la chaine de caractères "ciel", commme "officiellement".
    Moi j'aimerais qu'il ne me retourne que les titres avec le mot "ciel".
    J'ai essayé ça, mais ça ne marche point :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM news WHERE titre LIKE '%ciel%' AND titre IN (SELECT titre FROM news WHERE titre NOT LIKE '%_ciel_%')
    (la deuxième requête retournant tous les titre où il n' a pas de mots contenant la chaine de caractère ciel)

    Alors si il y a du spécialiste du SQL !!! Sinon on peut etre se retourner vers PHP !

    Merci d'avance pour vos conseils.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 186
    Points : 84
    Points
    84
    Par défaut
    Avec un espace derrière mais il ne faut pas que ton mot soit en fin de phrase

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM news WHERE titre LIKE '%ciel %'
    Mis à part ça je vois pas comment tu pourrais faire...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Yep yamino,

    J'y avais déjà pensé, mais forcement il se peut que le mot ciel se retrouve en fin de titre, et du coup celui-ci ne sera pas retourné !!!

    Même chose pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM news WHERE titre LIKE '% ciel%'
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM news WHERE titre LIKE '% ciel %'
    !!!

  4. #4
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * FROM news
    WHERE titre LIKE '% ciel %'
       OR titre LIKE '% ciel'
       OR titre LIKE 'ciel %'
    ?
    ... il serait peut-être plus efficace de passer par regexp

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Yep ton example marche, mais comme tu dis c'est un peu lourd. Mais en me documentant sur REGEXP et les expressions regulieres, j'ai trouvé cet exemple, et ça marche impec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM news WHERE titre REGEXP '[[:<:]]ciel[[:>:]]'
    ++

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

Discussions similaires

  1. Probléme requête MySQL , UPDATE
    Par ANTiQE dans le forum Accès aux données
    Réponses: 2
    Dernier message: 13/04/2011, 20h55
  2. Problème requête MySql en fonction du serveur
    Par Lowbaka dans le forum Requêtes
    Réponses: 8
    Dernier message: 31/12/2010, 13h22
  3. problème requête MySql en vb 2008
    Par walid kh dans le forum VB.NET
    Réponses: 0
    Dernier message: 17/03/2010, 13h30
  4. [MySQL] Problème requête Mysql
    Par jbtz64 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/05/2008, 14h08
  5. Problème requête MySql & builder
    Par boopix dans le forum C++Builder
    Réponses: 19
    Dernier message: 09/03/2007, 02h04

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