Problème Requète SQL

Résolu
vivienneault Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   -
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

ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Bonjour

$_POST['valeur']

quelle est la chaine de caractère entière ? avec les délimiteurs.
0
vivienneault Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   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
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
$_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.
0
Utilisateur anonyme
 
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.
0
Utilisateur anonyme
 
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
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Du coup, hôte moi d'un doute, les quotes sur l'index $_POST['fidele'] sont obligatoires, non ?
0
vivienneault Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   1
 
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']
0
Utilisateur anonyme
 
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.
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
sauf en concaténant la chaine.
0
Utilisateur anonyme
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vivienneault Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   1
 
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
0