Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zend Wyświelanie danych z bazy.
Forum PHP.pl > Forum > Przedszkole
cykcykacz
Witam nie wiem czemu ale nie wyświetla mi danych w widoku.
Model
  1. class Model_Items extends Zend_Db_Table_Abstract
  2. {
  3. protected $_name = 'articles';
  4. protected $_primary = 'i_id';
  5. public function selectwhere($id)
  6. {
  7. $db = $this->getAdapter();
  8.  
  9. $select = $db->select()
  10. ->from($this->_name)
  11. ->where('i_id = ?', $id);
  12.  
  13. $result = $select->query()->fetch();
  14.  
  15. if (!$result) {
  16. return false;
  17. }
  18.  
  19. $params = array();
  20. $params['db'] = $db;
  21. $params['table'] = $this;
  22. $params['data'] = $result;
  23.  
  24. return new Zend_Db_Table_Row($params);
  25. }
  26. }

Kontroller
  1. public function expositionAction()
  2. {
  3. // action body
  4. $itemsDAO = new Model_Items();
  5. $id = 1;
  6. $itemsDAO->selectwhere($id);
  7. // print_r($itemsDAO);
  8. //print_r($itemsDAO);
  9. $this->view->select = $itemsDAO;
  10. }

widok
Kod
<div id="content">
<?php //echo $this->select; ?>
        <?php foreach($this->select as $item): ?>
    
            <div id="Articles">
                <div id="Title"><?php echo $item->i_name ?></div>
                <div class="text"><?php echo $item->i_text ?></div>
            </div>            

        <?php endforeach; ?>

</div>
IceManSpy
Spróbuj to:
  1. class Model_Items extends Zend_Db_Table_Abstract
  2. {
  3. protected $_name = 'articles';
  4. protected $_primary = 'i_id';
  5. public function selectwhere($id)
  6. {
  7. $db = $this->getAdapter();
  8.  
  9. $select = $db->select()
  10. ->from($this->_name)
  11. ->where('i_id = ?', $id);
  12.  
  13. return $this->fetchAll($select);
  14. }
  15. }
cykcykacz
Dostaję taki błąd:
Kod
Message: Mysqli prepare error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


Chyba źle do tego zadania podchodzę.
IceManSpy
Błąd w zapytaniu, czyli krok do przodu wink.gif
Usuń jeszcze from z zapytania.
  1. class Model_Items extends Zend_Db_Table_Abstract
  2. {
  3. protected $_name = 'articles';
  4. protected $_primary = 'i_id';
  5. public function selectwhere($id)
  6. {
  7. $db = $this->getAdapter();
  8. $select = $db->select()
  9. ->where('i_id = ?', $id);
  10.  
  11. return $this->fetchAll($select);
  12. }
  13. }
cykcykacz
Model:
  1. <?php
  2. class Model_Select extends Zend_Db_Table_Abstract
  3. {
  4. protected $_name = 'articles';
  5. protected $_primary = 'i_id';
  6.  
  7. public function selectwhere($id)
  8. {
  9. $db = $this->getAdapter();
  10.  
  11. $select = $db->select()
  12. ->where('i_id = ?', $id);
  13.  
  14. return $this->fetchAll($select);
  15. }
  16. }

kontroler:
  1. public function expositionAction()
  2. {
  3. // action body
  4. $modelselect = new Model_Select();
  5. $id = 1;
  6. $modelselect->selectwhere($id);
  7. $this->view->select = $modelselect;
  8. }

widok:
Kod
<div id="content">
    <?php foreach($this->select as $row): ?>
        <?php echo $row->i_id ?><br />
    <?php endforeach ?>
</div>


Ten sam error://
IceManSpy
A konfigurację masz zapisaną w pliku application.ini ? Jak tak to spróbuj to:
  1. <?php
  2. class Model_Select extends Zend_Db_Table_Abstract
  3. {
  4. protected $_name = 'articles';
  5.  
  6. public function selectwhere($id)
  7. {
  8. $select = $this->select()
  9. ->where('i_id = ?', $id);
  10.  
  11. return $this->fetchAll($select);
  12. }
  13. }

Chociaż nadal uważam, że to błąd w zapytaniu.
A jak dostajesz błąd to pokazuje się biała strona + error, czy strona projektu + error?
cykcykacz
Kofiguracje mam w application.ini.
Dostaję layout ale nie widać żadnych danych nie mam errora!
Korystam z fire PHP i pokazuje, że zapytanie jest ok.
  1. SELECT `articles`.* FROM `articles` WHERE (i_id = 1)


Nie wiem o co chodzi:(

IceManSpy
W poście numer 5 napisałeś, że ten sam error, więc mnie to zmyliło.
Ok, wiem gdzie błąd w kontolerze:
  1. public function expositionAction()
  2. {
  3. // action body
  4. $modelselect = new Model_Select();
  5. $id = 1;
  6. $this->view->select = $modelselect->selectwhere($id);
  7. }

Teraz powinno śmigać smile.gif
cykcykacz
Super dzięki wielkie.
Miałem kod z nietego modelu biggrin.gif.
Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.