Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CodeIgniter] Wyświetlanie tabeli z bazy w widoku
Forum PHP.pl > Forum > PHP > Frameworki
kezard
Witam!

Niedawno zacząłem przygode z Code Igniter. Próbuje zbudować prosty widok który wyświetli mi dane z bazy danych. Robie to w ten sposób :

  1. class Panel extends Controller
  2. {
  3. function index()
  4. {
  5. $this->load->view('top');
  6.  
  7. $this->load->model('Clients');
  8.  
  9. $clients = $this->Clients->get(15)->result();
  10.  
  11. foreach ($clients as $client)
  12. {
  13. $this->load->view('table/row', $client);
  14. }
  15. }
  16.  
  17. function _construct()
  18. {
  19. parent::Controller();
  20. }
  21.  
  22.  
  23. }


oraz widok :

  1. <tr>
  2. <td> <strong>#</strong> </td>
  3. <td> <strong>Nazwa Firmy</strong> </td>
  4. <td> <strong>Województwo</strong> </td>
  5. <td> <strong>Kod pocztowy</strong> </td>
  6. <td> <strong>Miejscowosć</strong> </td>
  7. <td> <strong>Ulica</strong> </td>
  8. <td> <strong>NIP</strong> </td>
  9. <td> <strong>Telefon</strong> </td>
  10. <td> <strong>Emial</strong> </td>
  11. <td> <strong>Strona www</strong></td>
  12. <td> <strong>Branża</strong> </td>
  13. <td> <strong>Osoba kontaktowa</strong> </td>
  14. <td> <strong>Telefon</strong> </td>
  15. </tr>
  16.  
  17. </tr>
  18.  
  19. <td> <input type="checkbox" value="edycja" id = "check<?= $id ?>"> </td>
  20. <td> <?= $nazwa_firmy ?></td>
  21. <td> <?= $wojewodztwo ?></td>
  22. <td> <?= $kod_pocztowy ?></td>
  23. <td> <?= $miejscowosc ?></td>
  24. <td> <?= $ulica ?> <?= $nr_lokalu ?></td>
  25. <td> <?= $nip ?></td>
  26. <td> <?= $telefon ?></td>
  27. <td> <?= $email ?></td>
  28. <td> <?= $www ?></td>
  29. <td> <?= $branza ?></td>
  30. <td> <?= $kontakt_imie ?> <?= $kontakt_nazwisko ?></td>
  31. <td> <?= $kontakt_telefon ?></td>
  32. </tr>
  33.  


Jednak robiąc to w ten sposób każdy rekord to kolejna tabela. Potrzebuje zrobić to w ten sposób aby rekord był kolejnym wierszem. Znalazłem sposób z foreach ale jest on przykładem dla tablicy jednowymiaroewej i nie umiem go zastosować w moim przypadku. Proszę o pomoc.
jarexx
Okay. Przykladowe rozwiazanie. Mam nadzieje, ze zalapiesz idee.

controler
  1. class Panel extends Controller
  2. {
  3. function index()
  4. {
  5. $this->load->view('top');
  6.  
  7. $this->load->model('Clients');
  8.  
  9. $clients = $this->Clients->get_clients(15); //nasza wlasna funkcja z modelu pobierajaca 15 rekordow
  10.  
  11.  
  12. $this->load->view('widok', $clients); //ladujemy widok
  13.  
  14. }
  15.  
  16. function _construct()
  17. {
  18. parent::Controller();
  19. }
  20.  
  21.  
  22. }


model

  1. class Clients extends Model{
  2.  
  3. function get_clients($ilosc_rekordow) {
  4.  
  5. $tab = array();
  6.  
  7. $q = $this->db->query("SELECT * FROM TABELA LIMIT 0,".$ilosc_rekordow."");
  8.  
  9. if($q->num_rows() > 0) {
  10.  
  11. foreach($q->result() as $row) {
  12.  
  13. $tab[] = array($row->NAZWA_FIRMY, $row->WOJEWODZTWO, $row->ULICA); //wrzucamy do tablicy wielowymiarowej wszystkie potrzebne pola
  14.  
  15. }
  16.  
  17. return $tab;
  18. }
  19. else
  20. {
  21. return false;
  22. }
  23.  
  24. }
  25.  
  26.  
  27. }


no i widok

  1. <table>
  2. <tr>
  3. <td> <strong>Nazwa Firmy</strong> </td>
  4. <td> <strong>Województwo</strong> </td>
  5. <td> <strong>Ulica</strong> </td>
  6. </tr>
  7. <?
  8. //tablica clients przekazana z kontrolera
  9. foreach($clients as $key=>$value) {
  10.  
  11. echo"<tr><td>".$clients[$klucz][0]."</td><td>".$clients[$klucz][1]."</td><td>".$clients[$klucz][2]."</td></tr>\n";
  12. }
  13. ?>
  14. </table>
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.