wyllos
Messages postés160Date d'inscriptiondimanche 3 juin 2007StatutMembreDernière intervention15 septembre 2011
-
Modifié par wyllos le 30/10/2010 à 14:39
wyllos
Messages postés160Date d'inscriptiondimanche 3 juin 2007StatutMembreDernière intervention15 septembre 2011
-
30 oct. 2010 à 17:42
Bonjour,
Voila je tente de faire ressortir les ventes mensuelles depuis 2007. Ayant entre 100 et 2000 lignes par mois, je fais un select sum pour ne pas que la requette dure trop longtemps. Mais ç a fonctionne tres mal et je n'arrive pas à avoir le résultat voulu.
Je vous mets les différents éléments qui pourront vous servir à m'aider:
Ma function:
function afficher_tableau()
{
$html= '';
// on fait une boucle qui lit les éléments du tableau
$DATEAN = array('2007','2008','2009','2010','2011','2012','2013');
$DATEMOIS = array('01','02','03','04','05','06','07','08','09','10','11','12');
global $models;
$html .= '<table><tr><th> </th><th>01</th><th>02</th><th>03</th><th>04</th><th>05</th><th>06</th><th>07</th><th>08</th><th>09</th><th>10</th><th>11</th><th>12</th></tr>';
foreach($DATEAN as $dat=>$an)
{
$html .= '<tr><td>'.$an.'</td>';
foreach($DATEMOIS as $da=>$mois)
{
$db = fDatabase::getInstance();
$query = "SELECT SUM(total_amount), start_date FROM '".VenteModel::getTable()."'
WHERE start_date LIKE '".$an."-".$mois."%'
GROUP BY start_date WITH ROLLUP ";
$db->setQuery($query);
$tableau = $db->loadArrayList();
//print_r($tableau);
foreach($tableau as $table )
{
//print_r($table);
foreach($table as $keys=>$valu)
{
$clef[$keys] = $valu;
//print_r($clef['start_date']);
$valeurs = substr($clef['start_date'],0,-15);
$valeurs1 = substr($clef['start_date'],5,-12);
/*$totsom = 0;
if($mois == $valeurs1)
{
$totsom += $clef['SUM(total_amount)'];
}*/
if( empty($clef['start_date']))
{
$html .='<td>'.$clef['SUM(total_amount)'].'</td>';
}
}
}
}
$html .= '</tr>';
}
$html .= '</table>';
return $html;
}
}
Ma requette sort les éléments en array comme ceci:
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.