Problème Requète SQL

Résolu
Bonjour,

J'ai un petit soucis avec une requète SQL, en effet c'elle ci ne me renvoi que 1 tuple alors que le résultat devrait contenir plusieurs lignes :

SELECT Nom, Adresse, email, nb_vente, SUM( Prix_va ) as ca FROM client, vente, ventearticle WHERE client.ID = vente.ID_client AND vente.ID = ventearticle.ID_vente AND fidele = $_POST[fidele] AND ID_societe_v = $_POST[magasin] AND nb_vente !=0


Plusieurs clients sont censé sortir et pourtant non ...
Une bourde de ma part ?

Merci d'avance

5 réponses

  1. Contributeur
    Bonjour

    $_POST['valeur']

    quelle est la chaine de caractère entière ? avec les délimiteurs.
    1. $_POST[fidele] et $_POST[magasin] sont des entiers, la requète ne comporte pas d'erreur de syntax sql c'est juste le résultat qui me semble louche
      1. Contributeur
        $_POST['fidele'] et $_POST['magasin']

        C'est toi qui a besoin d'aide non ? Pourquoi refuser de donner les infos que je demande ? j'ai un peu de mal à saisir la logique.
        1. La logique, c'est que s'il y avait une erreur à ce niveau là, il y aurait une erreur de syntaxe détectée par mySQL, ce qui n'est pas le cas.
          Elle n'a rien refusé, elle t'a expliqué pourquoi ta remarque ne lui semblait pas expliquer son problème et je partage son analyse.
      2. Normal que tu aies une seule réponse avec un SUM dans la requête.
        Il faut préciser un GROUP BY Nom si tu veux faire ta somme pour chaque client séparément.
        Ou GROUP BY client.ID plutôt
        1. Contributeur
          Du coup, hôte moi d'un doute, les quotes sur l'index $_POST['fidele'] sont obligatoires, non ?
        2. Et bien non, ici mettre des quotes aurait même provoquer une erreur :

          On peut soit mettre :
          "SELECT * FROM client WHERE fidele = $_POST[fidele]"


          ou
          "SELECT * FROM client WHERE fidele = ".$_POST['fidele']
        3. C'est même une erreur à coup sûr.
          il NE FAUT PAS d'apostrophes autour d'un index de tableau à l'intérieur d'une chaîne entre double quotes.
          Sauf si on utilise l'écriture de variable entre accolades, mais je crois bien que je n'en ai jamais vu d'exemples dans toutes les questions postées sur CCM.
        4. Contributeur
          sauf en concaténant la chaine.
        5. Si tu concatènes ta chaîne, ta variable n'est plus entre doubles quotes. La règle dont nous parlons concerne les variables tableau à l'intérieur d'une chaîne entre doubles quotes.
      3. Merci le père c'est exactement ça, encore une fois tu m'es d'une grande utilité.
        TheBishop merci également d'avoir prit le temps de me répondre, je n'avais pas comprit ta question, ce n'était pas de la mauvaise volonté.

        A bientot