"Group By" et tableau

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 : "Group By" et tableau

Re: "Group By" et tableau

par sirakawa » 17 août 2014, 16:18

je pense que oui...

Re: "Group By" et tableau

par kim59 » 17 août 2014, 15:05

while ($row = $res->fetch_assoc()) {
  
   $produit[]  = $row['produit'] ;
    $date  = $row['date'] ;
    $somme = $row['SUM(somme)'] ;
    $somme = number_format($somme,2);
    
    
    echo '<tr>
  <td align="center">'.$date.'</td>
 <td align="center">'.$produit[0].'</td>
<td align="center">'.$produit[1].'</td>
<td align="center">'.$produit[2].'</td>
<td align="center">'.$produit[3].'</td>
 <td align="center"><B> '.$somme.' </B>Euros</td>   
 
</tr>
    
 ';   
J'ai besoin d'avoir une seul ligne avec la somme par produit.
Je suis sur la bonne route ?

Re: "Group By" et tableau

par sirakawa » 17 août 2014, 14:38

Supposant que tu es connecté à ta base de données
$mysqli = new mysqli("example.com", "user", "password", "database");

$requete ="SELECT SUM(total),date,produit,vendeur FROM sales  GROUP BY date,produit,vendeur";
$res = $mysqli->query ($requete);
$res->data_seek(0);
while ($row = $res->fetch_assoc()) {
    pint_r($row); print "\n";
}
Ce n'est pas la solution complète mais ça dervait t'avancer un peu

Re: "Group By" et tableau

par kim59 » 17 août 2014, 14:00

Merci pour vos réponses.
Malheureusement, je n'ai pas le choix. Je récupère ces données de ventes via un webservice.
J'ai donc une seul table sur laquelle je doit tirer un certains nombre de stats.

Re: "Group By" et tableau

par sirakawa » 17 août 2014, 08:56

et pense à typer correctement tes attributs, par exemple le prix sera un int, le nom du produit un varchar...
Le prix : decimal(5,2) 5 longuuer totale 2 nombre de décimales. Assure une précision absolue exploitable par les fonctions BCD de PHP

Re: "Group By" et tableau

par toytoy » 16 août 2014, 20:31

et pense à typer correctement tes attributs, par exemple le prix sera un int, le nom du produit un varchar...

Re: "Group By" et tableau

par sirakawa » 16 août 2014, 19:02

Bjr,
Erreur de conception:
Il faut une table produits avec leur description et un id du produit unique et clef
une table vendeurs avec entre autres unid de vendeur unique et clef
une table ventes :
date, quantite, id_du_produit, id_du_vendeur

Par ailleurs à tout hasard, il faut abandonner mysql au profit de mysqli ou pdo.

Re: "Group By" et tableau

par kim59 » 16 août 2014, 18:13

CREATE TABLE `ventes` (
  `id` int(11) NOT NULL,
  `date` date NOT NULL,
  `vendeur` text NOT NULL,
  `produit` text NOT NULL,
  `total` text NOT NULL,
) 

Re: "Group By" et tableau

par toytoy » 16 août 2014, 17:54

Tu pourrais nous donner le schéma de ta table s'il te plaît ? Sa aiderait grandement ^^

"Group By" et tableau

par kim59 » 16 août 2014, 17:47

Bonjour,

J'ai une liste de ventes que je voudrai ventiler dans un tableau.
SELECT SUM(total),date,produit,vendeur FROM sales  GROUP BY date,produit,vendeur

Je voudrais avoir le tableau ci-dessous :

date                   somme_produit1       Somme_produit2      somme_produit3   vendeur     somme_total 
2014-01-01              122 €                   12 €                92 €         Albert        226 € 
2014-01-02              112 €                   17 €                99 €         Albert        228 € 

Comment réaliser cela ?
Merci d'avance.