[ define @ 24.03.2005. 12:53 ] @
Naslov je malo nezgodan ali nisam znao kako da ga definisem drugacije :d
Ovako
recimo vadim podatke iz baze podataka i rezultata ima 50 a ja zelim da mi se izlista po 10 i da ispod postoje linkovi za sledecu stranu gde je sledecih 10 itd.
recimo za ovaj kod

Code:

<html>
    <head>
        <title></title>
    </head>
    <body>
        <?php
            $db=mysql_connect('localhost','user','pass');
            if(!$db)
            {
                echo 'Baza nije pristupacna';
                exit;
            }
            mysql_select_db('books');
            $query="select * from books";
            $result=mysql_query($query);
            $num_result=mysql_num_rows($result);
            for($i=0;$i<$num_result;$i++)
            {
                $row=mysql_fetch_array($result);
                echo '<p><b>Title:</b> ';
                echo stripslashes($row['title']);
                echo '<br/>';
                echo '<b>Autor:</b> ';
                echo stripslashes($row['author']);
                echo '</p>';
            }
            ?>
        </body>
    </html>


[Ovu poruku je menjao boccio dana 24.03.2005. u 14:19 GMT+1]
[ Ser_Boyler @ 24.03.2005. 13:09 ] @
Slican problem sam resio zahvaljujuci bluesmanovom postu:
http://www.elitesecurity.org/poruka/535639
[ boccio @ 24.03.2005. 13:15 ] @
u osnovi, samo prosledjujes skripti neki $pagenum i fiksiras offset...na taj nacin uz pomoc LIMIT naredbe iteriras kroz bazu...

evo na brzaka neki primer kroz tvoj kod (nisam testirao):
Code:

<html>
    <head>
        <title></title>
    </head>
    <body>
        <?php
            $offset = 40; broj rezultata po strani
            if (!isset($pagenum)) 
                   $pagenum=0; // ako je prva strana
            else
                   $pagenum = $_GET['pagenum'];

            $db=mysql_connect('localhost','user','pass');
            if(!$db)
            {
                echo 'Baza nije pristupacna';
                exit;
            }
            mysql_select_db('books');
            $num = $offset * $pagenum; // glumi kursor u recordsetu
            $query="select * from books LIMIT $num, $offset";
            $result=mysql_query($query);
            $num_result=mysql_num_rows($result);
            for($i=0;$i<$num_result;$i++)
            {
                $row=mysql_fetch_array($result);
                echo '<p><b>Title:</b> ';
                echo stripslashes($row['title']);
                echo '<br/>';
                echo '<b>Autor:</b> ';
                echo stripslashes($row['author']);
                echo '</p>';
            }
            echo "<a href={$_SERVER['PHP_SELF']}?pagenum=1>sledeca strana</a>";
            ?>
        </body>
    </html>

a onda mozes da se igras do besvesti, pogotovo sa navigacijom kroz recordset...
[ define @ 24.03.2005. 13:20 ] @
moze li malo objasnjenja, jer ovaj script ne radi...?
[ Goran Rakić @ 24.03.2005. 16:42 ] @
Imas dovoljno objasnjenja.

u ovom kodu zameni:
Code:
            if (!isset($pagenum)) 


sa:
Code:
            if (!isset($_GET['pagenum'])) 


i na kraju:
Code:
            echo "<a href={$_SERVER['PHP_SELF']}?pagenum=1>sledeca strana</a>";


sa:
Code:
            echo "<a href={$_SERVER['PHP_SELF']}?pagenum=".($pagenum+1).">sledeca strana</a>";


E sada tu bi trebalo dodati kontrolu da $pagenum ne odleti nebu pod oblake, napraviti jedan count upit pa napraviti link za svaku stranicu i sl. Ali osnova ti je vec ukazana, potrudi se malo.
[ Goran Rakić @ 24.03.2005. 16:43 ] @
I da, boccio zasto for umesto while, i zasto oni pozivi ka strislasshes? Mozda si mislio na htmlspecialchars?
[ boccio @ 24.03.2005. 18:30 ] @
ma to je njegov kod, to nisam ni dirao (tj. gledao :)...dodao sam samo par linija koje prave paginaciju :)
[ emiru @ 24.03.2005. 21:23 ] @
Ma ovaj kod ne radi..
kada refreshujem stranu ne pojavljuje se nista
[ ihti @ 24.03.2005. 21:38 ] @
Evo jedne odlicne klase i jednostavne za upotrebu.
http://www.sephiroth.it/file_d...?pageNum_comments=10&id=89
[ Goran Rakić @ 24.03.2005. 21:41 ] @
Molim korisnika koji je pokrenuo temu da:

1) Procita sta je u njoj napisano - i to redom SVE poruke
2) da primeni ispravke koje sam napisao u GOTOVOM resenju koje mu je dostavljeno
3) da u slucaju da ima daljih problema, posalje DETALJAN izvestaj sa greskom koja se pojavljuje (ako se uopste pojavljuje)

Objasnjenje:
Stil kako je ova diskusija vodjena, gde pomenuti korisnik vice kako program ne radi, a mi ostali bacamo pasulj da li je on uopste procitao sta sve ovde pise nece nikome pomoci. Ja sam uklonio par poruka koje nisu imale nikakvu informativnu vrednost i molim da se na ovoj (a i na svim ostalim) diskusijama prate pravila PHP foruma.
[ define @ 25.03.2005. 22:09 ] @
Izvinjavam se Goranu Rakicu jer nisam sve procitao kako treba. Sada kod radi, experimentisacu sa njim, samo ono sto sam zeleo je da mogu da biram strane npr prvih 10 ili od 40-50 razumes kao ovde na es sto ima ili na googlu kada koristimo search.
[ Goran Rakić @ 25.03.2005. 22:34 ] @
Da si opet procitao sve do kraja, video bi da sam ti i to rekao kako da uradis. Naravno ne mozes ocekivati da ljudi ovde resavaju tvoje domace zadatke.

Uostalom, imas i gotovo resenje u onoj klasi na koju je ostavljen link.
[ bluesman @ 25.03.2005. 22:37 ] @
Jednostavno se naježim kada vidim koliko neki ljudi ne žele ništa da nauče. Površni su, brljivi, lenji - takvima nije mesto u programiranju.

O ovome je bilo toliko reči, sećam se da sam i ja objašnjavao korak po korak, ali ne, nije dovoljno sve dok se ne stavi gotov script. Ako želite gotove scriptove nemojte dolaziti na forum nego idite na neki hotscript ili neski slican sajt.