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 :

Rechercher un ID dans un champs à plusieurs ID [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par défaut Rechercher un ID dans un champs à plusieurs ID
    Bonsoir,

    Je rencontre un problème de recherche en cherchant un ID dans un champs comportant plusieurs ID séparé par des virgules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CHAMP (tag) = ID,ID,ID,ID
    Je recherche l'ID 9 dans le champs tag.
    Résultat il me retourne toutes les lignes qui comportent un 9 (ID 9, ID 19, ID 29...) alors que je souhaite seulement avoir les lignes qui comporte l'ID précis 9.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM '.table_projects.' WHERE tag LIKE "%9%"
    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table_projects WHERE tag= '9'

    A+.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Très mauvaise conception en somme.

    Bref, en l'état, fonction FIND_IN_SET (WHERE FIND_IN_SET('9', tag) > 0 ?), une expression régulière (WHERE tag REGEXP '(^|,)9(,|$)' ?) ou "semblable" (WHERE CONCAT(',', tag, ',') LIKE ',9,' voir WHERE LOCATE(',9,', CONCAT(',', tag, ',')) > 0 ?)

  4. #4
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par défaut
    Citation Envoyé par julp Voir le message
    Très mauvaise conception en somme.
    Que voulez vous dire par là ?

    Je suis ouvert aux idées extérieur pour faire avancer mon projet donc n'hésitez pas.

    Merci

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Par défaut
    Citation:
    Envoyé par julp Voir le message
    Très mauvaise conception en somme.

    Que voulez vous dire par là ?
    Qu'il faut revoir les bases de merise ... concaténer des id par des virgules c'est bon pour du csv, par contre une base de données comme MySQL par exemple est relationnelle.

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par défaut
    Il serait donc préférable de recréer une table qui contiendrait tout les tags (ligne par ligne) associé à chaque projet ?

    Soit un CHAMP TAG_ID et un CHAMP PROJECT_ID ?

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

Discussions similaires

  1. [DAO]type non défini / recherche valeur max dans un champ
    Par petitours dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 23/04/2007, 09h59
  2. Recherche de mots dans un champ
    Par dechampfleury dans le forum Access
    Réponses: 3
    Dernier message: 23/01/2007, 10h37
  3. [VBA] Rechercher et remplacer dans un champs
    Par virginie2 dans le forum Access
    Réponses: 2
    Dernier message: 19/07/2006, 11h19
  4. Comment rechercher le symbol % dans un champ?
    Par nmathon dans le forum Oracle
    Réponses: 3
    Dernier message: 18/01/2006, 17h01
  5. Recherche d'enregistrments dans un champs
    Par Marie D dans le forum Access
    Réponses: 16
    Dernier message: 19/09/2005, 09h01

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