par
sadeq » 29 août 2008, 15:43
Moi j'en ai un :
<?php
// Préparation de la Base de données test :
$scriptBD = "
CREATE TABLE IF NOT EXISTS test.ventes (
dateEffet datetime NOT NULL,
montant double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
";
//
$resSQL = mysql_query($scriptBD, mysql_connect("localhost", "root", "")) or die (mysql_error());
//
$scriptBD = "
REPLACE INTO test.ventes (dateEffet, montant) VALUES
('2008-01-10 00:00:00', 1500),
('2008-01-20 00:00:00', 2000),
('2008-02-10 00:00:00', 500),
('2008-02-20 00:00:00', 3000),
('2008-04-10 00:00:00', 4000),
('2008-04-15 00:00:00', 5500),
('2008-04-20 00:00:00', 8000),
('2008-07-10 00:00:00', 9000),
('2008-07-20 00:00:00', 10000);
";
//
$resSQL = mysql_query($scriptBD, mysql_connect("localhost", "root", "")) or die (mysql_error());
//
//
// Liste des mois nommés en français
$mois = array(1=>"Janvier", 2=>"Février", 3=>"Mars", 4=>"Avril", 5=>"Mai", 6=>"Juin",
7=>"Juillet", 8=>"Août", 9=>"Septembre", 10=>"Octobre", 11=>"Novembre", 12=>"Décembre",);
//
// Requête SQL d'extraction des données : Chiffres d'affaires mensuels de l'année en cours
$sql = "
select month(dateEffet) as mois, sum(montant) as ca
from test.ventes
where year(dateEffet) = year(Now())
group by month(dateEffet)
";
$resSQL = mysql_query($sql, mysql_connect("localhost", "root", "")) or die (mysql_error());
//
$data_mois = array();
while ($resSQL && $row = mysql_fetch_assoc($resSQL))
{
// Stockage dans le tableau : ca/mois
$numMois = $row["mois"];
$data_mois[$numMois] = $row["ca"];
}
//
// Affichage de la table HTML : Chiffres d'affaires par mois
echo "<table border='1'><tr>";
foreach($mois as $numMois=>$nomMois)
{
echo "<th>$nomMois</th>"; // Entête
}
echo "</tr><tr>";
foreach($mois as $numMois=>$nomMois)
{
echo "<td>";
if (isset($data_mois[$numMois])) echo $data_mois[$numMois]; // Données
echo "</td>";
}
echo "</tr></table>";
?>
Bonne lecture

Moi j'en ai un :
[php]
<?php
// Préparation de la Base de données test :
$scriptBD = "
CREATE TABLE IF NOT EXISTS test.ventes (
dateEffet datetime NOT NULL,
montant double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
";
//
$resSQL = mysql_query($scriptBD, mysql_connect("localhost", "root", "")) or die (mysql_error());
//
$scriptBD = "
REPLACE INTO test.ventes (dateEffet, montant) VALUES
('2008-01-10 00:00:00', 1500),
('2008-01-20 00:00:00', 2000),
('2008-02-10 00:00:00', 500),
('2008-02-20 00:00:00', 3000),
('2008-04-10 00:00:00', 4000),
('2008-04-15 00:00:00', 5500),
('2008-04-20 00:00:00', 8000),
('2008-07-10 00:00:00', 9000),
('2008-07-20 00:00:00', 10000);
";
//
$resSQL = mysql_query($scriptBD, mysql_connect("localhost", "root", "")) or die (mysql_error());
//
//
// Liste des mois nommés en français
$mois = array(1=>"Janvier", 2=>"Février", 3=>"Mars", 4=>"Avril", 5=>"Mai", 6=>"Juin",
7=>"Juillet", 8=>"Août", 9=>"Septembre", 10=>"Octobre", 11=>"Novembre", 12=>"Décembre",);
//
// Requête SQL d'extraction des données : Chiffres d'affaires mensuels de l'année en cours
$sql = "
select month(dateEffet) as mois, sum(montant) as ca
from test.ventes
where year(dateEffet) = year(Now())
group by month(dateEffet)
";
$resSQL = mysql_query($sql, mysql_connect("localhost", "root", "")) or die (mysql_error());
//
$data_mois = array();
while ($resSQL && $row = mysql_fetch_assoc($resSQL))
{
// Stockage dans le tableau : ca/mois
$numMois = $row["mois"];
$data_mois[$numMois] = $row["ca"];
}
//
// Affichage de la table HTML : Chiffres d'affaires par mois
echo "<table border='1'><tr>";
foreach($mois as $numMois=>$nomMois)
{
echo "<th>$nomMois</th>"; // Entête
}
echo "</tr><tr>";
foreach($mois as $numMois=>$nomMois)
{
echo "<td>";
if (isset($data_mois[$numMois])) echo $data_mois[$numMois]; // Données
echo "</td>";
}
echo "</tr></table>";
?>
[/php]
Bonne lecture :wink: