Bonjour ;
Pouvez-vous m’aider ?
Lorsque j’essaye d’afficher le résultat d’une requête paramétrée je reçois le message suivante :
Warning: Invalid argument supplied for foreach() in C:\wamp\www\cdfc\application\modules\admin\views\scripts\consencai\encais .phtml on line 36
La ligne 36 correspond à la première ligne dans l’extrait du fichier encais .phtml ci dessous
Merci

Modèle :
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
 
<?php
class Admin_Model_DbTable_Consencai extends Zend_Db_Table_Abstract {
    protected $_name    = 'tconsencai';
    protected $_primary = 'id_consecai';
 
    public function pargroupe($parametres = NULL) {
 
	 try {
		$select = $this->select();
		            if ($parametres) {
                         $select->where($this->getAdapter()->quoteIdentifier("libel_groupe_consencai").'=?',$parametres);
                                ->order('np_eleve_consencai  ASC');
						 }
						 $encaiRows = $this->fetchAll($select);
                         $rows       = array();
                         foreach ($encaiRows as $encaiRow) {
                $rows[] = new Admin_Model_Consencai($encaiRow);
            }
            return $rows;
        }
		        catch (Exception $e) {
            echo "consConsencai<br />";
            echo $e->getMessage();
            exit;
        }
    }
Contrôleur :
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
 
<?php
class Admin_ConsencaiController extends Zend_Controller_Action {
    public function init() {    }
    public function indexAction() { }
    public function encaisAction() {
		$form = new Admin_Form_Conscours();
			if ($this->_request->isPost()) {
				$formData   = $this->_request->getPost();
						$parametres    = $formData['libel_groupe'];
						$donnees   = new Admin_Model_DbTable_Consencai();
						$this->view->rows = $donnees->pargroupe($parametres);
						$this->view->texte=$texteAAfficher;
 
			}
 
	}
    public function afficherAction() {
        $this->view->headLink()
                   ->appendStylesheet($this->view->baseUrl().'/styles/formlogin.css');
        $form                   = new Admin_Form_Conscours();
        $this->view->form       = $form;
        $this->view->message    = '';
    }
}
Formulaire :
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
 
<?php
class Admin_Form_Conscours extends Zend_Form {
  public function init() {
        $this->setMethod('post')
             ->setName('consultationcours')
             ->setAttrib('name', 'conscours');
        $groupeTab   = new Admin_Model_DbTable_Groupe();
        $groupeRows  = $groupeTab->getGroupes();
        $groupes     = array();
 
        foreach ($groupeRows as $row) {
            $groupes[$row->libel_groupe] = $row->libel_groupe;
        }
 
        $groupe  = new Zend_Form_Element_Select('libelgroupe');
        $groupe->setLabel('Groupe : ')
                  ->setMultiOptions($groupes)
                  ->setValue(0)
                  ->getDecorator('label')->setOption('tag', NULL);
        $this->addElement($groupe);
        $this->setDecorators(array(array('ViewScript',
                             array('viewScript' => 'consultscript.phtml'))));
    }
}
consultscript.phtml (Pour afficher le formulaire) :
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
 
<form action="<?php echo $this->escape($this->element->getAction()); ?>"
      method="<?php echo $this->escape($this->element->getMethod()); ?>"
      name="<?php echo $this->escape($this->element->getAttrib('name')); ?>"
      class="formconscours">
 
<table>
<tr>
  <td align="center" COLSPAN=2><b>
    Veuillez choisir le parametre adequoat </b>
  </td>
  <td align="center"><b>Cliquez sur le lien correspondant a votre choix </b>
  </td>
</tr>
<tr>
  <td align="center" COLSPAN=2></td>
  <td align="right"></td>
</tr>
<tr>
  <td align="right">
    <?php echo $this->element->libelgroupe->renderLabel(); ?>
  </td>
  <td>
    <?php echo $this->element->libelgroupe->renderViewHelper(); ?>
  </td>
  <td>
  	<div align="center">
			<a href="<?php echo $this->url(array('module'=>'admin',
                                     'controller'=>'consencai',
                                     'action'=>'encais'),
                                     'default', true) ?>">
				Consultation par groupe
			</a>
	</div>  
 
  </td>
</tr>
 
</table>
</form>
afficher.phtml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<center><h1>Consultations des encaissements</h1></center>
<br><br>
<?php
$this->form->setAction($this->url());
echo $this->form;
Extrait du consultscript.phtml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
...........
        <?php foreach ($this->rows as $infoEncaissements) { ?>
        <tr>
            <td class="colg1"align="center">
                <?php echo $infoEncaissements->np_professeur; ?>
            </td>
 
            <td class="colg1"align="center">
                <?php echo $infoEncaissements->np_eleve_consencai; ?>
            </td>
...........