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 :
La ligne 36 correspond à la première ligne dans l’extrait du fichier encais .phtml ci dessousWarning: Invalid argument supplied for foreach() in C:\wamp\www\cdfc\application\modules\admin\views\scripts\consencai\encais .phtml on line 36
Merci
Modèle :
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
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; } }
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_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 = ''; } }
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 <?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')))); } }
afficher.phtml :
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>
Extrait du consultscript.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;
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> ...........
Partager