Mój problem polega na tym, że widok BiuroView nie wyświetla w ogóle wyników zapytania, mimo, iż rekordy znajdują
się w bazie.
W swoim projekcie wykorzystałem kod Model.class.php, który był dostępny na necie:
Model.class.php:
public function select($from, $select='*', $where=NULL, $order=NULL, $limit=NULL) { $query='SELECT '.$select.' FROM '.$from; if($where!=NULL) $query=$query.' WHERE '.$where; if($order!=NULL) $query=$query.' ORDER BY '.$order; if($limit!=NULL) $query=$query.' LIMIT '.$limit; $select=$this->pdo->query($query); $ilosc_kolumn = $select->columnCount(); $ilosc_wierszy = $select->rowCount(); $select->setFetchMode(PDO::FETCH_ASSOC); $wynik = $select->fetch(); foreach ($select as $wynik) { for ($i=0;$i<=$ilosc_wierszy; $i++) { $wynik = $select->fetch(); $data[$i]=$wynik; } } $select->closeCursor(); return $data; }
Wykorzystałem go, ponieważ spodobałą mi się koncepcja skrócenia pisania długich zapytań typu "select kolumna1, kolumna2 itp. from ..."
Model, którego problem dotyczy zwraca do widoku tablicę asocjacyjną, zawierającą wartości poszczególnych kolumn i wierszy:
BiuroModel.class.php:
class BiuroModel extends Model{ public function pobierz_wszystkie_biura() { $wynik = $this->select('biuro'); return $wynik; } }
zaś w widoku wygląda to następująco:
class BiuroView { private $tytul; private $naglowek; private $tresc; private $wynik; public function __construct($tytul, $naglowek, $tresc, $wynik) { $this->tytul = $tytul; $this->naglowek = $naglowek; $this->tresc = $tresc; $this->wynik = $wynik; $this->wyswietlStrone(); } private function wyswietlStrone() { echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'; } }
Jak widać powyżej, testowo do wyświetlam pierwsze 2 wiersze tablicy data, a mimo to mam pusto.
Proszę o sugestie, gdzie leży problem. Za wszelką pomoc będę bardzo wdzięczny.
Pozdrawiam.