pubntrash Posted March 23, 2010 Share Posted March 23, 2010 Bonjour,Si cela intéresse quelqu'un, j'ai fait une modif de l'onglet stat pour afficher le CA jour par jour de la semaine en cours, avec total et moyenne de la semaine et du mois en cours.Attention : c'est de la modif bien grasse directement AdminStats.php ce n'est pas un module ! Le code n'est pas beau (faut que j'regarde comment on fait une boucle en php) mais ça fonctionne (v1.2.4.0) et j'ai un tableau de bord un peu plus parlant.Sur ce, j'vais aller faire dodo, il y aura un screen shoot plus tard si souhaité.Tchao Link to comment Share on other sites More sharing options...
snootlab Posted November 5, 2010 Share Posted November 5, 2010 Bonjour,Justement, je cherche à ajouter aux statistiques (stats) des boutons "semaine" et "semaine -1" comme il y a pour "jour", "mois", etc.Donc, si le code à évolué, cela m'intéresse. Link to comment Share on other sites More sharing options...
pubntrash Posted November 29, 2010 Author Share Posted November 29, 2010 Bonjour,Puisque quelqu'un est intéressé, voici les modif à faire (base v1.2.4, cela modifie le core et donc une màj fait sauter le patch.Modifications dans A ajouter \racine_du_site\dossier_administrateur\tabs fichier AdminStats.php public static function fgzGetStats() { $fgzStats = array(); /* 1er jour de la semaine en cours */ if (date("w") == 0) $fgzDateFrom = mktime(0,0,0,date("m"),date("d")-date("w")-7,date("Y")); else $fgzDateFrom = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y")); $fgzDebutSemaine = $fgzDateFrom; $fgzDateTo = mktime(23,59,59,date("m"),date("d")-date("w")+1,date("Y")); $fgzStats['lundi'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['lundi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['mardi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['mardi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['mercredi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['mercredi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['jeudi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['jeudi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['vendredi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['vendredi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['samedi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['samedi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['dimanche'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['dimanche']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDebutSemaine; $fgzStats['semaine'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['semaine']['jour'] = $fgzStats['semaine']['ttc'] / date("N"); $fgzDateFrom = mktime( 0, 0, 0, date("m"), 1, date("Y")); $fgzDateTo = mktime( 23, 59, 59, date("m"), date("t"), date("Y")); $fgzStats['mois'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['mois']['jour'] = $fgzStats['mois']['ttc'] / date("d"); $fgzDateFrom = mktime( 0, 0, 0, 1, 1, date("Y")); $fgzDateTo = mktime( 23, 59, 59, 12, 31, date("Y")); $fgzStats['an'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['an']['jour'] = $fgzStats['an']['ttc'] / date("z"); $fgzDateFrom = mktime(0,0,0,date("m"),date("d")-date("w")-6,date("Y")); /* 1er jour de la semaine précédente */ $fgzDateTo = $fgzDateFrom + 604800; $fgzStats['semprec'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['semprec']['jour'] = $fgzStats['semprec']['ttc'] / 7; $fgzDateFrom = mktime( 0, 0, 0, date("m")-1, 1, date("Y")); $fgzDateTo = $fgzDateFrom+(86400*(date("t",$fgzDateFrom))); $fgzStats['moisprec'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['moisprec']['jour'] = $fgzStats['moisprec']['ttc'] / date("t",$fgzDateFrom); return $fgzStats; } ... la suite arrive Link to comment Share on other sites More sharing options...
pubntrash Posted November 29, 2010 Author Share Posted November 29, 2010 ... suiteDans la fonction display, ajouter la ligne suivante avant le 1er "echo" : $fgzStats = self::fgzGetStats(); puis remplacer le bloc "En cours" par le code suivant : En cours '.$this->l('date').' '.$this->l('with tax').' '.$this->l('only products not incl. tax').' Lundi '.$fgzStats['lundi']['jour'].' '.Tools::displayPrice($fgzStats['lundi']['ttc'], $currency).' '.Tools::displayPrice($fgzStats['lundi']['ht'], $currency).' Mardi '.$fgzStats['mardi']['jour'].' '.Tools::displayPrice($fgzStats['mardi']['totalttc'], $currency).' '.Tools::displayPrice($fgzStats['mardi']['totalht'], $currency).' Mercredi '.$fgzStats['mercredi']['jour'].' '.Tools::displayPrice($fgzStats['mercredi']['totalttc'], $currency).' '.Tools::displayPrice($fgzStats['mercredi']['totalht'], $currency).' ... vous voyez le principe CtrlC et Ctrl sont vos amis Link to comment Share on other sites More sharing options...
snootlab Posted November 30, 2010 Share Posted November 30, 2010 Super !Je dépose ici mon code une fois "adapté".Merci, superbe modification. Link to comment Share on other sites More sharing options...
pubntrash Posted December 1, 2010 Author Share Posted December 1, 2010 Précisions :Pour semaine, semaine précédente et suivants, la colonne date contient le CA TTC moyen par jour (pour "semaine", "mois" et "année", à la date d'affichage, pour "précédent" sur 7 pour la semaine et 28 à 31 pour le mois).Je ne suis pas certain d'être bien clair mais avec une claculette, tu devrais retrouver.Dès que je n'ai rien de mieux à faire, je calcule les prix d'achat Link to comment Share on other sites More sharing options...
pubntrash Posted December 27, 2010 Author Share Posted December 27, 2010 Correction du bug qui arrivait le dimanche. Nouvelle version : public static function fgzGetStats() { $fgzStats = array(); /* 1er jour de la semaine en cours */ if (date("w") == 0) $fgzDateFrom = mktime(0,0,0,date("m"),date("d")-date("w")-6,date("Y")); else $fgzDateFrom = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y")); $fgzDebutSemaine = $fgzDateFrom; if (date("w") == 0) $fgzDateTo = mktime(23,59,59,date("m"),date("d")-date("w")-6,date("Y")); else $fgzDateTo = mktime(23,59,59,date("m"),date("d")-date("w")+1,date("Y")); $fgzStats['lundi'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['lundi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['mardi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['mardi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['mercredi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['mercredi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['jeudi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['jeudi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['vendredi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['vendredi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['samedi'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['samedi']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDateFrom + 86400; $fgzDateTo = $fgzDateTo + 86400; $fgzStats['dimanche'] = self::recordQuery("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['dimanche']['jour'] = date("d-m-Y", $fgzDateFrom); $fgzDateFrom = $fgzDebutSemaine; $fgzStats['semaine'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['semaine']['jour'] = $fgzStats['semaine']['ttc'] / date("N"); $fgzDateFrom = mktime( 0, 0, 0, date("m"), 1, date("Y")); $fgzDateTo = mktime( 23, 59, 59, date("m"), date("t"), date("Y")); $fgzStats['mois'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['mois']['jour'] = $fgzStats['mois']['ttc'] / date("d"); $fgzDateFrom = mktime( 0, 0, 0, 1, 1, date("Y")); $fgzDateTo = mktime( 23, 59, 59, 12, 31, date("Y")); $fgzStats['an'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['an']['jour'] = $fgzStats['an']['ttc'] / date("z"); /* 1er jour de la semaine précédente */ if (date("w") == 0) $fgzDateFrom = mktime(0,0,0,date("m"),date("d")-date("w")-13,date("Y")); else $fgzDateFrom = mktime(0,0,0,date("m"),date("d")-date("w")-6,date("Y")); /* 1er jour de la semaine précédente */ $fgzDateTo = $fgzDateFrom + 604800; $fgzStats['semprec'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['semprec']['jour'] = $fgzStats['semprec']['ttc'] / 7; $fgzDateFrom = mktime( 0, 0, 0, date("m")-1, 1, date("Y")); $fgzDateTo = $fgzDateFrom+(86400*(date("t",$fgzDateFrom))); $fgzStats['moisprec'] = self::getSales("'".date("Y-m-d H:i:s",$fgzDateFrom)."' AND '".date("Y-m-d H:i:s",$fgzDateTo)."'", '%Y-%m-%d', 'DESC'); $fgzStats['moisprec']['jour'] = $fgzStats['moisprec']['ttc'] / date("t",$fgzDateFrom); return $fgzStats; } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now