Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SMARTY]PHP Stronicowanie w Smartach?
Forum PHP.pl > Forum > Przedszkole
zolw83
Witam.
Mam pytanie jak zrobić stronicowanie w Smartach?
Próbowałem coś zrobić używając klasy: SmartyPaginate.class.php ale coś nie idzie, nie wyświetla mi zawartości, ale się przewija?
http://www.phpinsider.com/smarty-forum/viewtopic.php?p=51241

Czy istnieje jakiś prostrzy sposób?
Będę wdzięczny za podpowiedź.

Pozdrawiam
Marcin
_olo_1984
ja przerobiłem prosty przykład, nie znam Twojego kodu ale może coś ci to pomoże:

kawałek klasy (model)
  1. <?php
  2. public function showAll($str = NULL) {
  3.        if ($str == NULL) {
  4.            $limit1 = 0;
  5.            $limit2 = $this->limit;
  6.        } else {
  7.            $limit1 = $this->limit * $str - $this->limit;
  8.            $limit2 = $this->limit * $str;
  9.        }
  10.        $this->conn->query("SELECT * FROM ".db_prefix."pliki LIMIT $limit1,$limit2");
  11.        $i=0;
  12.        while($row=$this->conn->fetchArray()) {
  13.            $this->all_files[$i]['id']=$row['id'];
  14.            $this->all_files[$i]['kategoria']=$row['kategoria'];
  15.            $this->all_files[$i]['nazwa']=$row['nazwa'];
  16.            $this->all_files[$i]['link']=$row['link'];
  17.            $this->all_files[$i]['thumb']=$row['thumb'];
  18.            $this->all_files[$i]['rozmiar']=number_format($row['rozmiar']/1024, 2);
  19.            $this->all_files[$i]['data_dodania']=$row['data_dodania'];
  20.            $this->all_files[$i]['dodal']=$row['dodal'];
  21.            $i++;
  22.        }
  23.        unset($row);
  24.        return $this->all_files;
  25.    }
  26.    
  27.    public function _showAll() {
  28.        $ile = $this->conn->selectValue("count(*)","pliki");
  29.        $this->liczba_stron = $ile / $this->limit;
  30.        $this->liczba_stron = ceil($this->liczba_stron);
  31.        $dupa = array();
  32.        for($a = 1; $a <= $this->liczba_stron; $a++) {
  33.            if ($this->liczba_stron == 1) {
  34.                $dupa[] = 1;
  35.            } else {
  36.                $dupa[] = '<a href="admin.php?cms_id=6&str='.$a.'"><span class="menublad">'.$a.'</span></a>';
  37.            }
  38.        }
  39.        return $dupa;;
  40.    }
  41. ?>


fragment pliku php (kontroler)

  1. <?php
  2. $smarty->assign('all_images',$upload->showAll($_GET['str']));
  3. $smarty->assign('v',$upload->_showAll());
  4. $smarty->display('admin_files_1.tpl');
  5. ?>


fragment pliku admin_files_1.tpl (widok)

  1. <?php
  2. <td align=left colspan=6>
  3.                    <span class="menufont1">Strony:
  4.                        {foreach from=$v item=st}
  5.                            {$st},&nbsp;
  6.                        {/foreach}
  7.                    </span>
  8.                    </td>
  9. ?>


nie jest to mistrzostwo świata, ale na moje potrzeby wystarcza. Może ten kod naprowadzi cię na rozwiązanie problemu. Pozdr
potreb
Istnieje taka klasa jak smarty pagination, poszukaj w necie.
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.