Salutation tous le monde!!!

Voila je planche toujours sur mon tableau de dépense. En faites depuis mon controller j'ai fait une requête que j'affiche très bien dans ma vue. Après ce que j'essaie de faire c'est à l'aide d'un select et du javascript je change les données à afficher dans le tableau. J'arrive à récupérer ce qu'il y a dans le select puis je l'envoi dans mon controller pour faire le traitement mais c'est pour rafraichir mon tableau que je n'arrive pas. Je récupère bien les données du traitement en json mais je n'arrive pas a les mettre dans le tableau de ma vue.

voici mon controller:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
class DepenseController extends Zend_Controller_Action
{
   public function init()
    {
 
        $ajaxContext = $this->_helper->getHelper('AjaxContext');
        $ajaxContext->addActionContext('index', 'html')
                    ->addActionContext('majdepense', array('html', 'json'))
                    ->initContext();
 
        if ($this->_request->isXmlHttpRequest())
        {
            $this->_helper->layout->disableLayout();
        }
 
 
 
    }
 
    public function indexAction()
    {   $ajaxContext = $this->_helper->getHelper('AjaxContext');
     $ajaxContext->addActionContext('majdepense', 'json')->initContext();
 
            $date = date('Y'); 
 
            if ($date % 5 == 0)
              { 
              if (preg_match('#5$#',$date))
                {
                    $annee1 = $date;
                    $annee2= $date + 5; //echo "annee1:".$annee1; echo "<br/>"; echo "annee2:".$annee2; 
                }
                else {
                    $annee1 = $date - 5;
                    $annee2= $date;
                }
            }
            else{
                $Chiffre=substr($date, -1);
                switch ($Chiffre) {
                  case 1:
                      $annee1 = $date - 1;
                      $annee2 = $date + 4;
                    break;
                  case 2:
                      $annee1 = $date - 2;
                      $annee2 = $date + 3;
                    break;
                  case 3:
                      $annee1 = $date - 3;
                      $annee2 = $date + 2;
                    break;
                  case 4:
                      $annee1 = $date - 4;
                      $annee2 = $date + 1;
                    break;
                  case 6:
                      $annee1 = $date - 1;
                      $annee2 = $date + 4;
                    break;
                  case 7:
                      $annee1 = $date - 2;
                      $annee2 = $date + 3;
                    break;
                  case 8:
                      $annee1 = $date - 3;
                      $annee2 = $date + 2;
                    break;
                  case 9:
                      $annee1 = $date - 4;
                      $annee2 = $date + 1;
                    break;
              }
            }
 
 
     $table_consommation = new Application_Model_Consommation();
       $montant = array();
      // $montant[]=array();
         for($i=$annee1;$i<=$annee2;$i++){
            // $montant[] = $i;
             $montant[$i]=array();
             for($j=1;$j<=12;$j++){
                 if($j<=9){
                 $j = '0'.$j;
                 }
                 $select = $table_consommation->select();
                 $select->from('consommation', array('sum(MONTANT_TOTAL) as montant_total'))
                         ->where('DATE_RELEVE like ?', '%'.$i.'-'.$j.'%');
                 $res = $table_consommation->fetchAll($select);
               //  var_dump($res[0]['montant_total']);
 
                   if($res[0]['montant_total'] != null){  
                   // echo "<td class='cn_td'>"; echo $consommation->montant_total."€";echo "</td>";     
                       //$this->view->montant = $consommation->montant_total;
                       $montant[$i][] = $res[0]['montant_total'];
                   }
 
 
             }
 
         }
 
 
         $this->view->montant = $montant;
 
 
  }
 
     public function majdepenseAction()
    {
 
         $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
 
        //$annee = $this->getRequest()->getParam("annee"); 
        if(isset($_POST['annee'])) {
            if($_POST['annee'] != "") {
                $annee = explode("-", $_POST['annee']);
                $annee1 = $annee[0];
                $annee2 = $annee[1];
            }
        }
 
     $table_consommation = new Application_Model_Consommation();
       $montant = array();
      // $montant[]=array();
         for($i=$annee1;$i<=$annee2;$i++){
            // $montant[] = $i;
             $montant[$i]=array();
             for($j=1;$j<=12;$j++){
                 if($j<=9){
                 $j = '0'.$j;
                 }
                 $select = $table_consommation->select();
                 $select->from('consommation', array('sum(MONTANT_TOTAL) as montant_total'))
                         ->where('DATE_RELEVE like ?', '%'.$i.'-'.$j.'%');
                 $res = $table_consommation->fetchAll($select);
               //  var_dump($res[0]['montant_total']);
 
                   if($res[0]['montant_total'] != null){  
                   // echo "<td class='cn_td'>"; echo $consommation->montant_total."€";echo "</td>";     
                       //$this->view->montant = $consommation->montant_total;
                       $montant[$i][] = $res[0]['montant_total'];
                   }
 
 
             }
 
         }
 
         //$this->view->montant = $montant;
         return $this->_helper->json($montant);
    }
}
Ma vue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<div id="depense">
 
  <h1 class='cn_h1' style='margin: 0 10px 10px 10px; padding: 0;'>Dépenses</h1>
  <select name="select_annee" id="select_annee" onchange="calcul_depense(this.value);">
      <option value="">---</option>
      <?php for($i=2010;$i<=2100;$i+=5){ 
          $fin = $i +5;
          ?>
      <option value="<?php echo $i."-".$fin;?>"><?php echo $i."-".$fin;?></option>
      <?php }?>
  </select>
     <table id='table_depense'>
       <tr>  
           <th class='cn_th'></th>
           <th class='cn_th'>Janvier</th>
           <th class='cn_th'>Fevrier</th>
           <th class='cn_th'>Mars</th>
           <th class='cn_th'>Avril</th>
           <th class='cn_th'>Mai</th>
           <th class='cn_th'>Juin</th>
           <th class='cn_th'>Juillet</th>
           <th class='cn_th'>Aout</th>
           <th class='cn_th'>Septembre</th>
           <th class='cn_th'>Octobre</th>
           <th class='cn_th'>Novembre</th>
           <th class='cn_th'>Decembre</th>
       </tr>
 
       <?php
      // var_dump(json_decode($montant));
       //echo $this->json($this->montant);
       foreach($this->montant as $annee => $montant_mois) { //boucle pour les années ?> 
            <tr>
                <td class='cn_td'><?php echo $annee;?></td>
             <?php if(!empty($montant_mois)){ //si on a au moins un montant pour une année
                    $result = count($montant_mois); //on compte le nombre d'element du tableau montant
                    if($result == 12){ //si on a pas les 12 montant pour l'année'?> 
                        <?php foreach($montant_mois as  $montant){  //on affiche les montants?>
                          <?php if($montant != null){// si un montant n'est pas null?>
                          <td class='cn_td'><?php  echo $montant."€"; ?></td>
                          <?php }
                          else {?>
                          <td class='cn_td'><?php  echo "0€"; ?></td>
                          <?php } ?>
                        <?php } 
                }
                else{ // si on a mois de 12 montant pas an exemple on est que le 3e mois de l'année en cours
                    foreach($montant_mois as  $montant){// on affiche les montants
                        if($montant != null){?>
                          <td class='cn_td'><?php  echo $montant."€"; ?></td>
                          <?php }
                          else {?>
                          <td class='cn_td'><?php  echo "0€"; ?></td>
                          <?php } 
                     }
                     for($j=1;$j<=(12-$result);$j++){ // pour les mois n'ayant pas de montant du tout '?>
                       <td class='cn_td'><?php  echo "0€"; ?></td>
             <?php }
                  }
                }
            else{
                    for($j=1;$j<=12;$j++){// pour les années ou on a aucun montant du tout ?>
                        <td class='cn_td'><?php  echo "0€"; ?></td>
                    <?php }
                } ?>
            </tr>
       <?php } ?>
     </table>
</div>
Et ma fonction javascript pour tout aide:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function calcul_depense(annee){
     $.ajax({ 
                    type: 'POST',
                    url: 'depense/majdepense',
                    dataType: 'json',
                     data: 'annee='+ annee,
                    success: function(msg) {
                      alert("ça fonctionne!!" + msg);                   
                    },
                    error : function(msg){
                    alert("Une erreur est survenue" + msg);
                    console.log(msg);
                }
                });    
 }
Quelqu'un aurait il une idée ? Car la je sens que j'y suis presque mais je bloque... J'espère avoir été clair avec mon problème et si vous avez besoin de précisions je suis la. Je vous remercie d'avance pour votre aide .