Hi Leute, mal wieder ein klitzekleines Problem..
ich rufe Daten aus einer Datenbank ab und versuche sie darzustellen..
Der Abruf klappt einwandfrei.. und wenn ich im Controller mit
echo die Werte überprüfe, ist auch alles da..
Nun muss ja leider auch die single.phtml das Buch anzeigen und das übergebe ich so (ist nur ein Eintrag da die Suche über id gemacht wurde..)
PHP-Code:
$this->view->entry = $myBook;
die Darstellung habe ich verschieden versucht
wenn ich es so versuche anzuzeigen:
PHP-Code:
<tr><td width="200px"><?php echo $this->escape($entry->title); ?></td></tr>
zeigt er nichts an..
Aber wenn ich es so probiere:
PHP-Code:
<tr><td><?php echo $this->escape($entry->getAuthor()); ?></td></tr>
gibt er mir diese Fehlermeldung raus..
Code:
Fatal error: Call to a member function getAuthor() on a non-object in C:\xampp\xampp\htdocs\BookManagment\application\views\scripts\book\single.phtml on line 5
Anzeige von mehreren Büchern klappt wunderbar(Darstellung mit der index.phtml)
Was mache ich verkehrt?
BookController
PHP-Code:
class BookController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
$bookMapper = new Application_Model_BookMapper();
$this->view->entries = $bookMapper->getAll();
}
public function singleAction()
{
$request = $this->getRequest();
$id = $request->getParam("id");
$bookMapper = new Application_Model_BookMapper();
$myBook = new Application_Model_Book();
$bookMapper->getById($id, $myBook);
//echo $myBook->getTitle();
//echo $myBook->getAuthor();
$this->view->entry = $myBook;
}
}
single.phtml
PHP-Code:
<br /><br />
<div id="view-content">
<table cellspacing="20px">
<tr><td width="200px"><?php echo $this->escape($entry->title); ?></td></tr>
<tr><td><?php //echo $this->escape($entry->getAuthor()); ?></td></tr>
<tr><td><?php //echo htmlentities($this->escape($entry->getContent())); ?></td></tr>
</table>
</div>
index.phtml (aus dem Scripts/Book->Ordner)
PHP-Code:
<div id="book_content">
<table cellspacing="20px">
<?php foreach ($this->entries as $entry){ ?>
<tr>
<td width="200px"><a href="/book/single/id/<?php echo $entry->getId()?>"><?php echo $this->escape($entry->getTitle()); ?></a></td>
<td><?php echo $this->escape($entry->getAuthor()); ?></td>
<!-- <dd><?php echo htmlentities($this->escape($entry->getContent())); ?></dd>-->
</tr>
<?php } ?>
</table>
</div>