IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Db PHP Discussion :

afficher le résultat d'une jointure


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Par défaut afficher le résultat d'une jointure
    Bonsoir,
    j'ai un problème d'affichage.
    En fait j'ai fait une jointure entre deux classes mais je ne comprends pas très bien comment on peut afficher le résultat.

    code model Reservations.php
    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
    <?php
    	class Reservations extends Zend_Db_Table
    	{
    		protected $_name = 'reservations';
     
    		protected $_dependentTables = array("Clients");
    		protected $_referenceMap = array(
    				'Reporter' => array(
    					'columns' => 'id_client',
    					'refTableClass' => 'Clients',
    					'refcolumns' => 'id'
    				)
    			);
     
    		public function findReserv()
    		{
    			//$select = $this->getAdapter()->select()
    			$select = $this->select()
    								->setIntegrityCheck(false)
    								->from(array('r'=>$this->_name), array('dateCreation', 'dateArrivee', 'nbPersonnes', 'are'))
    								->join (array('c'=>'clients'), 'r.id_client = c.id', 'nom');
     
     
    					echo $select;
     
    			return $this->getAdapter()->fetchAll($select);
    		}
    }
    code du 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
    <?php
    	class ReservationController extends Zend_Controller_Action
    	{
    		function indexAction()
    		{
    			$this->view->title = "Reservations";
    			$this->view->headTitle($this->view->title, 'PREPEND');
     
     
    			$reserv = new Reservations();
    			$this->view->reservations = $reserv->findReserv();
    		}
    }
    et l'index.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
    <p><a href="<?php echo $this->url(array('controller'=>'reservation', 'action'=>'ajouter')); ?>">Ajouter une nouvelle reservation</a></p>
    <table>
    	<tr>
    		<th>Date de creation</th>
    		<th>Date d'arrivee</th>
    		<th>Date de depart</th>
    		<th>Nombre de personne</th>
    		<th>Are</th>
    	</tr>
    	<?php foreach($this->reservations as $reservation) : ?>
    	<tr>
    		<td><?php echo $this->escape($reservation->dateCreation);?></td>
    		<td><?php echo $this->escape($reservation->dateArrivee);?></td>
    		<td><?php echo $this->escape($reservation->dateDepart);?></td>
    		<td><?php echo $this->escape($reservation->nbPersonnes);?></td>
    		<td><?php echo $this->escape($reservation->are);?></td>
    		<td><?php echo $this->escape($reservation->nom);?></td>
    		<td>
    			<a href="<?php echo $this->url(array('controller'=>'reservation', 'action'=>'modifier', 'id_reserv'=>$reservation->id_reserv));?>">Modifier</a>
    			<a href="<?php echo $this->url(array('controller'=>'reservation', 'action'=>'supprimer', 'id_reserv'=>$reservation->id_reserv));?>">Spprimer</a>
    		</td>
    	</tr>
    	<?php endforeach; ?>
    </table>
    l'exécution de ce code me renvoie cette erreur pour chaque champs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Trying to get property of non-object in C:\wamp\www\gestionStudios\application\views\scripts\reservation\index.phtml on line 12
    quelqu'un pourrait-t'il m'aider?
    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Par défaut
    Problème résolu : ma fonction renvoie un tableau au lieu d'un objet, donc il fallait écrire dans la 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
    <p><a href="<?php echo $this->url(array('controller'=>'reservation', 'action'=>'ajouter')); ?>">Ajouter une nouvelle reservation</a></p>
    <table>
    	<tr>
    		<th>Date de creation</th>
    		<th>Date arrivee</th>
    		<th>Date de depart</th>
    		<th>Nombre de personne</th>
    		<th>Are</th>
    	</tr>
    	<?php foreach($this->reservations as $res) : ?>
    	<tr>
    		<td><?php echo $this->escape($res['dateCreation']);?></td>
    		<td><?php echo $this->escape($res['dateArrivee']);?></td>
    		<td><?php echo $this->escape($res['dateDepart']);?></td>
    		<td><?php echo $this->escape($res['nbPersonnes']);?></td>
    		<td><?php echo $this->escape($res['are']);?></td>
    		<td><?php echo $this->escape($res['nom']);?></td>
    		<td>
    			<a href="<?php echo $this->url(array('controller'=>'reservation', 'action'=>'modifier', 'id_reserv'=>$reservation->id_reserv));?>">Modifier</a>
    			<a href="<?php echo $this->url(array('controller'=>'reservation', 'action'=>'supprimer', 'id_reserv'=>$reservation->id_reserv));?>">Spprimer</a>
    		</td>
    	</tr>
    	<?php endforeach; ?>
    </table>
    A bientot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/06/2006, 12h33
  2. Réponses: 5
    Dernier message: 14/06/2006, 15h19
  3. Réponses: 3
    Dernier message: 25/11/2005, 14h51
  4. [QReport] Afficher le résultat d'une requete
    Par PFX dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/05/2005, 14h38
  5. Lignes en double dans le résultat d'une jointure
    Par ledevelopeur dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/06/2004, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo