Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
bonjour
je suis dans derniere etape de mon projet
reste une chose tres importante mùais peut etre la solution est facile et que j'ai passé a coté
je parcours table ou je calcul somme des nombre de commandes et je les tri par semaine
d'ou dans ma classe principal j'ai fonction suivante:
public function calcul() { $select = $this->select() ->from(array('p' => 'table), array('id' => 'id','somme'=>'Round(sum(total),2)','semaine' =>'week(date,1)')) ->group('week(date,1)') ->order('week(date,1) ASC'); $r= $this->fetchAll($select); return ($r); }
dans class controller j'appelle cette fonction
function indexAction() { $this->view->title = "some total"; $calcul= new calcul(); $this->view->calcul= $calcul->calcul();
et dans fichier index.html j'utilise boucle foreach
<?php foreach($this->calculas $calcul : ?> <php echo 'semaine: ' .$this->escape($calcul->somme ;?> endforeach; <?php
bien sur la requete marche mais juste avec petit souci. car la j'ai reultat suivante:
semaine1: 5555 semaine5: 2222
ce que je cherche si c'est possible d'améliorer sql ou ajouter autre boucle avec foreach et d'afficher 0 dans les semaine ou y'a pas eu des comandes. c'est a dire :
semaine1 :5555 semaine2 :0 semaine3:0 semaine4 :0 semaine5: 2222
merçi d'avance
Hors ligne
j'espere que j'ai expliqué problématique d'une façon claire
Hors ligne
C'est possible en SQL directement :
IFNULL() pour mysql
http://dev.mysql.com/doc/refman/5.0/en/ … ion_ifnull
ou NVL() pour oracle
Hors ligne