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 :

Probleme requete MYSQL


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 37
    Points : 26
    Points
    26
    Par défaut Probleme requete MYSQL
    Bonjour,
    j'ai un soucis de syntaxe pour une requete, voila:
    Un champ de ma BD composé de ceci 1 14 12 (une suite de nombre espacé d'un espace).
    Je cherche à effectuer une requete en ne ciblant qu'un seul nombre.
    J'ai fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'SELECT NoID,User,Nom,Prenom,Email,Pass,News,Activite FROM TClientBis WHERE Activite='.$Activites.''
    $Activites étant par exemple 1 et le champ Activite = 1 14 12
    Donc je n'ai aucun retour car je n'arrive pas à retrouver le 1 dans ma chaine..
    J'ai essayé substr() sans succès...
    Si quelqu'un à une idée, merci pour ca

    Alain

  2. #2
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 587
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 587
    Points : 7 395
    Points
    7 395
    Par défaut
    Bonjour.

    Peux-tu modifier ton champ "Activite" en base? Tu pourrais remplacer les espaces par des virgules et utiliser la fonction FIND_IN_SET():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT 
    	NoID,
    	User,
    	Nom,
    	Prenom,
    	Email,
    	Pass,
    	News,
    	Activite 
    FROM TClientBis 
    WHERE find_in_set(\''.$Activites.'\', Activite) != 0;
    Enfin, les recherches complexes sur des chaînes sont en général assez lentes. Il serait sûrement plus efficaces de revoir ton modèle de données afin de simplifier ta requête.
    Par exemple créer une table 'activites' qui lierait "NoID" à "activite", et ajouter autant d'entrées par utilisateur que d'activité. ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO activites (NoID, Activite) VALUES (1, 1), (1, 14), (1, 12);
    Ta requête se simplifirait en quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    'SELECT 
    	a.NoID,
    	User,
    	Nom,
    	Prenom,
    	Email,
    	Pass,
    	News,
    	a.Activite 
    FROM TClientBis a, activites b
    WHERE a.NoID = b.NoID AND
    	b.Activite = '.$Activites;
    pour $Activites = 1, ou en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    'SELECT 
    	a.NoID,
    	User,
    	Nom,
    	Prenom,
    	Email,
    	Pass,
    	News,
    	a.Activite 
    FROM TClientBis a, activites b
    WHERE a.NoID = b.NoID AND
    	b.Activite IN ('.$Activites.')';
    pour $Activites = '1,12'.
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

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

Discussions similaires

  1. Probleme requete mysql
    Par AurelienNF dans le forum Langage
    Réponses: 2
    Dernier message: 10/11/2010, 14h24
  2. [MySQL] Probleme requete mysql SELECT
    Par Flou60 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/07/2008, 09h37
  3. Probleme requete Mysql
    Par keishah dans le forum Requêtes
    Réponses: 2
    Dernier message: 29/08/2006, 12h56
  4. Requete MySql qui bloque. Probleme de table?
    Par Doberman dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/02/2006, 20h28
  5. Probleme requete Mysql avec WHERE
    Par Dom_the_quaker dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/10/2005, 16h21

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