Question problème affichage erreur zfbook
Bonjour,
Je débute en ZF.
J'ai voulu démarrer et refaire pas à pas l'application zfbook.
J'ai d'abord voulu le faire simplement sans aucunes vérification de droits, caches sessions.
Juste ajouter/modifier une réservation.
Mais j'arrive à comprendre comment modifier (c'est ok). Mais lors de l'ajout d'une reservation, cela me sort une erreur. Je ne comprends pas d'où sort le problème.
Le contrôleur :
Code:
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
| <?php
class ReservationController extends Zend_Controller_Action
{
private $_reservationTable;
public function init()
{
$this->view->titre = "Réservation des salles";
$this->view->setEscape('stripslashes');
$this->_reservationTable = new Application_Model_DbTable_Reservation();
$this->_helper->viewRenderer->setNoRender(false);
}
public function indexAction()
{
$this->view->titre = "Application exemple du livre Zend Framework";
}
public function listAction()
{
$this->view->titre = "Liste des réservations";
$roomListTable = new Application_Model_DbTable_Room();
$rooms = $roomListTable->fetchAll()->toArray();
$Troom = array();
foreach ($rooms as $room) {
$Troom[$room['id']] = $room["name"];
}
$this->view->rooms = $Troom;
$userListTable = new Application_Model_DbTable_User();
$users = $userListTable->fetchAll()->toArray();
$Tuser = array();
foreach ($users as $user) {
$Tuser[$user['id']] = $user["firstname"]." ".$user["lastname"];
}
$this->view->users = $Tuser;
$reservations = $this->_reservationTable->fetchAll()->toArray();
// Gestion de la pagination
$paginator = Zend_Paginator::factory($reservations);
$paginator->setItemCountPerPage(5);
$paginator->setCurrentPageNumber($this->getRequest()->getParam('page'));
$this->view->reservations = $paginator;
}
public function editAction()
{
// Récupération des paramètres et de la réservation à éditer si nécessaire.
$params = $this->getRequest()->getParams();
$isUpdate = isset($params['r']);
if ($isUpdate) {
$params['r'] = (int)$params['r'];
$this->view->titre = "Editer une réservation existante";
$reservation = $this->_reservationTable->find((int)$params['r'])->current();
} else {
$this->view->titre = "Ajouter une réservation";
// Création d'une réservation vide s'il s'agit d'un ajout
$reservation = $this->_reservationTable->createRow();
}
// Création du formulaire et déclaration des paramètres généraux
$form = new Application_Form_AjoutRes();
$form->setAction($this->view->link('reservation' , 'edit', null, '', 'default', !$isUpdate))
->setMethod('post')
->setDefaults($reservation->toArray());
// Création du formulaire et ajout/suppression
if ($this->getRequest()->isPost() && $form->isValid($_POST)) {
$values = $form->getValues();
$values['creator'] = 1;
$reservation->setFromArray(array_intersect_key($values, $reservation->toArray()));
$reservation->save();
// Redirection vers la liste des réservations
$this->_helper->redirector("list");
}
// Assignation du formulaire pour affichage
$this->view->form = $form;
}
public function deleteAction()
{
// Récupération de l'identifiant de la
// réservation à supprimer
$params = $this->getRequest()->getParams();
$idReservation = (int)$params['r'];
$this->_reservationTable->delete("id=$idReservation");
// Redirection sur la page précédente
$this->_helper->redirector("list");
}
} |
la BDD :
Code:
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
| <?php
class Application_Model_DbTable_Reservation extends Zend_Db_Table_Abstract
{
/**
* Nom de la table (vue)
*
* @var string
*/
protected $_name = 'reservation';
protected $_primary = 'id';
public function obtenirReservation($id) {
$id = (int)$id;
$row = $this->fetchRow('id = '.$id);
if(!$row) {
throw new Exception("Impossible de trouver l'enregistrement");
}
return $row->toArray();
}
public function ajouterReservaton($room, $usage, $datebegin, $dateend, $creator) {
$data = array(
"id_room" => $room,
"usage" => $usage,
"date_begin" => $datebegin,
"date_end" => $dateend,
"creator" => $creator
);
$this->insert($data);
}
} |
Les fonctions ne servent à rien mais c'était avant....
Es-ce que quelqu'un peux me donner une voix ?
Merci
chercher à telecharger l appli zfbook
Bonjour à tous,
www.zfbook.fr ne fonctionne pas, si vous avez un lien d'appli zfbook exemple ?
Merci
Damien