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 :

Exclusion invalide dans requête


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de zozoman
    Homme Profil pro
    Futur ex-prof
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Futur ex-prof
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut Exclusion invalide dans requête
    Bonjour à tous,

    j'effectue une requête pour sélectionner une liste de nomParametre mais je veux exclure le nom du paramètre déjà apparent dans <option></option>

    J'ai effectué la requete suivante qui fonctionne mais elle n'exclu pas : $tableau1000['nomParamFAJVierge']

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    '   SELECT DISTINCT nomParametre 
        FROM parametre  
        WHERE (cleBain IN (
            SELECT MAX( idBain ) 
            AS maxId
            FROM bain b, substancefaj s
            WHERE s.compositionPrincipaleFAJ = "'.$_POST['nomMetal'].'"
            AND s.idFAJ = b.cleSubstanceFAJ
            GROUP BY b.referenceBain
        ) 
        AND nomParametre<>"'.$tableau1000['nomParamFAJVierge'].'")  
        OR cleBain IS NULL
        ORDER BY nomParametre';
    Pourriez vous m'aider ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est-ce que tu as contrôlé ta requête finale ?
    Est-ce que tu l'as testé en dehors de PHP ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de zozoman
    Homme Profil pro
    Futur ex-prof
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Futur ex-prof
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Voici la requête testée dans Mysql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT nomParametre 
    FROM parametre WHERE (cleBain IN (SELECT MAX( idBain ) AS maxId FROM bain b, substancefaj s WHERE s.compositionPrincipaleFAJ = "Au" AND s.idFAJ = b.cleSubstanceFAJ GROUP BY b.referenceBain
    ) AND nomParametre <> "Ajout") OR cleBain IS NULL ORDER BY nomParametre
    elle me retourne :

    - Ajout
    - Cobalt total
    ...
    - Température

  4. #4
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Tu peux tester ça ?
    Code sql : 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
    SELECT DISTINCT nomParametre 
    FROM parametre 
    WHERE (
    	cleBain IS NULL  AND nomParametre <> "Ajout"
     
    	OR (
    		cleBain IN (
    			SELECT MAX( idBain ) AS maxId 
    			FROM bain b, substancefaj s 
    			WHERE s.compositionPrincipaleFAJ = "Au" AND s.idFAJ = b.cleSubstanceFAJ 
    			GROUP BY b.referenceBain
    		) 
    		AND nomParametre <> "Ajout"
    	)
    )
    ORDER BY nomParametre
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    La même chose en factorisant
    Code sql : 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
    SELECT DISTINCT nomParametre 
    FROM parametre 
    WHERE (
    	nomParametre <> "Ajout"
     
    	AND(
    		cleBain IS NULL
    		OR (
    		cleBain IN (
    			SELECT MAX( idBain ) AS maxId 
    			FROM bain b, substancefaj s 
    			WHERE s.compositionPrincipaleFAJ = "Au" AND s.idFAJ = b.cleSubstanceFAJ 
    			GROUP BY b.referenceBain
    		) 
    	)
    )
    ORDER BY nomParametre
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Membre confirmé Avatar de zozoman
    Homme Profil pro
    Futur ex-prof
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Futur ex-prof
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Il manquait juste une parenthèse dans la version non factorisée :

    Code sql : 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
    SELECT DISTINCT nomParametre
    FROM parametre
    WHERE (
    nomParametre <> "Ajout"
    AND (
    cleBain IS NULL
    OR (
    cleBain
    IN (
     
    SELECT MAX( idBain ) AS maxId
    FROM bain b, substancefaj s
    WHERE s.compositionPrincipaleFAJ = "Au"
    AND s.idFAJ = b.cleSubstanceFAJ
    GROUP BY b.referenceBain
    )
    )
    )
    )
    ORDER BY nomParametre


    Merci pour ton aide (par contre, je n'ai pas encore compris l'erreur, je vais m'y pencher)

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

Discussions similaires

  1. [Visual Web] [SJSC] Concaténation dans requête SQL
    Par Original Prankster dans le forum NetBeans
    Réponses: 22
    Dernier message: 15/08/2005, 14h50
  2. Procédure stockée, concaténation dans requête
    Par sbeu dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/08/2005, 12h03
  3. ASP et valeur NULL dans requêtes SQL
    Par chuck_m dans le forum ASP
    Réponses: 7
    Dernier message: 13/08/2004, 11h15
  4. Problème de date dans requête de màj imbriquée
    Par VirginieGE dans le forum Langage SQL
    Réponses: 11
    Dernier message: 20/07/2004, 15h34
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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