Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana]Pobranie wyników w modelu, wyświetlenie w widoku
Trobin
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 6
Dołączył: 23.03.2008
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Zdaje się, że mój problem nie jest skompikowany i trudny do rozwiązania, ale napotkałem problem przy rozdzieleniu modelu (pobranie danych z bazy) z widokiem (wyświetlenie tych danych). Otóż w klasie Klasa_Model mam metodę show();. Ta metoda pobiera dane z bazy danych.
  1. <?php
  2. function pokaz(){
  3. $db = new Database();
  4. $query = 'SELECT number FROM kontakty';
  5. $result = $this->db->query($query);
  6. return $result;
  7. }
  8. ?>

Zrobiłem to w ten sposób, ale nijak mi to nie pomaga. Oto plik widoku (jedynie część "wyświetlająca" rzeczone dane):
  1. <?php
  2. foreach ($result as $row):
  3. {
  4. echo 'Nazwa użytkownika: ' . $row->number . '<br />';
  5. echo '<hr />';
  6. }
  7. endforeach
  8. ?>

No i jak wchodzę na stronę to Kohana wywala mi błąd:
Cytat
Undefined variable: result

Czuję, że rozwiązanie jest niezbyt trudne i skomplikowane, ale nie mogę na nie wpaść...

Ten post edytował Trobin 3.05.2008, 15:56:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nrm
post
Post #2





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


model:
  1. <?php
  2. public function show(){
  3. $sql = $this->db->select()->from('kontakty')->get();
  4. return $sql->current();
  5. }
  6. ?>


kontroler:
  1. <?php
  2. $klasa = new Klasa_Model;
  3. $number = $klasa->show();
  4. $widok->set('result',$number);
  5. ?>


widok:
  1. <?php foreach($result as $r): ?>
  2. <?=$r->number; ?>
  3. <?php endforeach; ?>


w skrócie. no i w modelu NIE musisz ponownie ładować DB, jest odpalana defaultowo wyżej.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 21:31