[RESOLU] Il y a une erreur dans ma requête SQL quand j'utilise SUM() ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Il y a une erreur dans ma requête SQL quand j'utilise SUM() ?

Re: Il y a une erreur dans ma requête SQL quand j'utilise SUM() ?

par wwwbillgates » 22 déc. 2017, 16:46

Ah d'accord merci beaucoup !

Re: Il y a une erreur dans ma requête SQL quand j'utilise SUM() ?

par Spols » 11 déc. 2017, 15:37

A vue d'oeil il te manque une clause GROUP BY, sinon ta requète va faire la somme de toute tes lignes et donc forcement en retourner qu'une

Re: Il y a une erreur dans ma requête SQL quand j'utilise SUM() ?

par @rthur » 09 déc. 2017, 20:08

Teste ta requête dans PHPmyadmin, tu verras précisément combien de lignes de résultats sont renvoyés et ça te permettra de debuguer ta requête le cas échéant sans interférence avec ton code PHP.

Vu la taille de ta requête et sa complexité, c'est compliqué de te dire ce qui pourrait bloquer il faut vraiment que tu avances de ton côté étape par étapeg pour voir à quel niveau ça coince

Re: Il y a une erreur dans ma requête SQL quand j'utilise SUM() ?

par wwwbillgates » 09 déc. 2017, 14:05

Merci pour ton aide, en fait le problème est que mon while n'affiche qu'un seul résultat (alors qu'il y en a beaucoup plus) uniquement lorsque j'ajoute la ligne SUM(A.frais_port) AS total_frais_port, je te prie de m'excuser je pensai que l'erreur Undefined était lié à l'affichage.
Je pense donc à une erreur dans l'écriture de ma requête, ou peut être que simplement il n'est pas possible d'afficher plusieurs résultats à partir du moment ou on utilise SUM() ?

Re: Il y a une erreur dans ma requête SQL quand j'utilise SUM() ?

par @rthur » 09 déc. 2017, 13:32

Ta variable $total_frais_port n'est définie nulle part.

Si tu doutes de ta requête SQL, teste là dans PHPmyadmin, c'est la meilleure façon de débuguer.
Mais quoiqu'il arrive ta variable n'est définie nulle part donc le message d'erreur est normal, fait un var_dump() de $prestations pour voir ce qu'il y a dedans

Il y a une erreur dans ma requête SQL quand j'utilise SUM() ?

par wwwbillgates » 09 déc. 2017, 13:27

Bonjour, j'ai une requête SQL préparée avec jointure et je souhaiterais calculer des totaux grâce à un SUM() mais il doit y avoir une erreur d'écriture car cela créé une erreur Undefined variable: total_frais_port, Pouvez-vous me venir en aide svp ?

Voici ma requête :

$sql_prestations = $bdd->prepare("
							SELECT
								A.numero_commande AS numero_commande,
								DATE_FORMAT(A.date_commande, '%d/%m/%Y') AS date_commande,
								A.frais_port AS frais_port,
								SUM(A.frais_port) AS total_frais_port,
								A.prixtotal AS prixtotal,
								B.numero_commande_revendeur AS numero_commande_revendeur,
								B.tva AS tva
							FROM commandes A
							JOIN revendeur B
							ON A.numero_commande = B.numero_commande
							WHERE A.boutique = :boutique
							AND YEAR(date_commande) = :annee_selection
							AND MONTH(date_commande) = :mois_selection
							ORDER BY A.date_commande DESC
							");
$sql_prestations->execute(array(
							'boutique' => 'revendeur',
							'annee_selection' => $annee_selection,
							'mois_selection' => $mois_selection
							));
$sql_prestations->setFetchMode(PDO::FETCH_ASSOC);

		
while($prestations = $sql_prestations->fetch()) {
     echo round($total_frais_port, 2) . ' €';
}