Witam!
Chciałem się zapytać o wykorzystanie Zend Paginator do wyświetlenia danych z tablicy do tabeli.
Mam tablicę o konstrukcji:
Array
(
[0] => Array
(
[numer_karty] => 0001
[nazwisko] => kowalski
[imie] => jan
[telefon] => 876543219
[email] => test@email.pl
)
[1] => Array
(
[numer_karty] => 0002
[nazwisko] => nowak
[imie] => roman
[telefon] => 123456789
[email] => ttest2@gmail.com
)
)
Tablica jest importowana w modelu z pliku CSV.
Funkcja import:
public function import($file)
{
$handle = fopen($file, 'r'); while (!feof($handle) ) { $headers = $row;
$rows[] = array_combine($headers, $row);
}
$adapter = new Zend_Paginator_Adapter_Array($rows);
return $adapter;
}
W kontrolerze wykonuję:
$importCSV= new Model_KartyCsv;
$filename="test.csv";
$adapter=$importCSV->import($filename);
$paginator = new Zend_Paginator($adapter);
$paginator->setItemCountPerPage(30);
$page = $this->_request->getParam('strona', 1);
$paginator->setCurrentPageNumber($page);
$this->view->paginator = $paginator;
a w widoku próbuję wyświetlić:
<?php echo $this->paginationControl($this->paginator, 'Sliding', 'paginator/paginator.phtml'); ?>
</p> <table class="standard align-center"> <?php foreach ($this->paginator as $user):
?>
<tr class="<?php echo $this->cycle(array("light", "dark"))->next() ?>">
<td><?php echo $user->numer_karty; ?>
</td> <td><?php echo $user->nazwisko; ?>
</td> <td><?php echo $user->imie; ?>
</td> <td><?php echo $user->telefon; ?>
</td> <td><?php echo $user->email; ?>
</td>
<?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?