Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Zend Paginator
PrzeeMOC
post 6.02.2014, 11:48:24
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.04.2013

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


Witam!
Chciałem się zapytać o wykorzystanie Zend Paginator do wyświetlenia danych z tablicy do tabeli.

Mam tablicę o konstrukcji:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [numer_karty] => 0001
  6. [nazwisko] => kowalski
  7. [imie] => jan
  8. [telefon] => 876543219
  9. [email] => test@email.pl
  10. )
  11.  
  12. [1] => Array
  13. (
  14. [numer_karty] => 0002
  15. [nazwisko] => nowak
  16. [imie] => roman
  17. [telefon] => 123456789
  18. [email] => ttest2@gmail.com
  19. )
  20.  
  21. )


Tablica jest importowana w modelu z pliku CSV.

Funkcja import:
  1. public function import($file)
  2. {
  3. $rows = array();
  4. $headers = array();
  5. $handle = fopen($file, 'r');
  6. while (!feof($handle) ) {
  7. $row = fgetcsv($handle, 10240);
  8. if(empty($headers))
  9. $headers = $row;
  10. else if(is_array($row))
  11. $rows[] = array_combine($headers, $row);
  12. }
  13. fclose($handle);
  14.  
  15. $adapter = new Zend_Paginator_Adapter_Array($rows);
  16.  
  17. return $adapter;
  18.  
  19. }



W kontrolerze wykonuję:

  1.  
  2. $importCSV= new Model_KartyCsv;
  3. $filename="test.csv";
  4. $adapter=$importCSV->import($filename);
  5.  
  6. $paginator = new Zend_Paginator($adapter);
  7. $paginator->setItemCountPerPage(30);
  8. $page = $this->_request->getParam('strona', 1);
  9. $paginator->setCurrentPageNumber($page);
  10. $this->view->paginator = $paginator;
  11.  


a w widoku próbuję wyświetlić:

  1. <?php echo $this->paginationControl($this->paginator, 'Sliding', 'paginator/paginator.phtml'); ?></p>
  2. <table class="standard align-center">
  3. <tr>
  4. <th>numer_karty</th>
  5. <th>nazwisko</th>
  6. <th>Imię</th>
  7. <th>telefon</th>
  8. <th>email</th>
  9. </tr>
  10. <?php foreach ($this->paginator as $user):
  11. ?>
  12. <tr class="<?php echo $this->cycle(array("light", "dark"))->next() ?>">
  13. <td><?php echo $user->numer_karty; ?></td>
  14. <td><?php echo $user->nazwisko; ?></td>
  15. <td><?php echo $user->imie; ?></td>
  16. <td><?php echo $user->telefon; ?></td>
  17. <td><?php echo $user->email; ?></td>
  18.  
  19. </tr>
  20. <?php endforeach; ?>



Widać, że coś do tabeli wczytuje, ponieważ wyświetla się prawidłowa ilość wierszy, natomiast w tabeli nie mam żadnych danych. Wnioskuję, że źle odwołuję się do pól w tablicy. Jak to zrobić prawidłowo, by wyświetlić te dane?

Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 09:28