[ Ivan Golubović @ 08.09.2002. 20:59 ] @
Naime script koji sam ja uradio ispisace beskonacno mnogo podataka na jednoj strani
Code:

<?php
include("scripts\dbconnect.php");
$result = mysql_query("select *,
        date_format(vreme,'%e.%c.%Y. %H:%i')
        as vreme_unosa from baza") or
    die (mysql_error());
while ($row = mysql_fetch_array($result))
{
    echo "<b>Ime: </b>";
    echo $row["ime"];
    echo "<br>\r\n";
    echo "<b>email: </b>";
    echo $row["email"];
    echo "<br>\r\n";
    echo "<b>Datum unosa: </b>";
    echo $row["vreme_unosa"];
    echo "<br>\r\n";
    echo "<b>IP: </b>";
    echo $row["ip_addr"];
    echo "<br>\r\n";
    echo "<b>Poruka: </b><br>\r\n";
    echo $row["poruka"];
    echo "<br>\r\n";
    
}
mysql_free_result($result);
?>


kako da ogranicim da mi npr. ispise 30 podataka na jednoj strani, 30 na drugoj itd...?
[ Goran Rakić @ 08.09.2002. 22:11 ] @
SELECT * FROM table WHERE something=something LIMIT 0,30 će krenuti od prvog i završiti kod 30-tog. 30,60 će krenuti kod 30-tog i završiti kod 60-tog itd. E sada ukoliko prebacis GET-om neku varijablu koja oznacava stranu, i mysql_count_rows izbrojis redove pa to podelis sa 30 dobices broj strana. Onda uhvatis onu stranu iz GET-a, pa to pomnozis sa 30 i eto tebi pocetka, onda dodas na to 30 i eto tebi kraja za mysql_query string.
[ RAZZLEDAZZLER @ 09.09.2002. 04:36 ] @
Probaj iz ovoga da iskopash neshto ako mozesh. Meni je lichno bilo lakshe da uchim iz primera, zato ti dajem ovo.
Code:

<?
$broj_po_strani = "30";

if (!$limit) $limit = 0;
$query = mysql_query("SELECT ovo, ono FROM tabela WHERE ovo=ono LIMIT $limit, $broj_po_strani");
$result_count = mysql_query("SELECT COUNT(*) FROM tabela WHERE ovo=ono");
$num = mysql_result($result_count, $broj_po_strani);

$next = $num - ($limit+$broj_po_strani);
if ($next > $broj_po_strani) $next=$broj_po_strani;

if ($limit > 0) {
    echo "<a href=\"$PHP_SELF?limit=" . ($limit - $broj_po_strani) . "\"><< Previous $broj_po_strani</a> ";
}

if ($num > $broj_po_strani) {
    $c = (floor($num-0.1) / $broj_po_strani)+1;
    for ($a = 1; $a <= $c; $a++) {
        echo " <b><a href=\"$PHP_SELF?limit=" . (($a-1)*$broj_po_strani) . "\">$a</a></b> ";
    }
}

if ($next >  0) {
    echo " <a href=\"$PHP_SELF?limit=" . ($limit+$broj_po_strani) . "\">Next $next >></a>";
}

?>
[ -zombie- @ 09.09.2002. 06:42 ] @
samo da upozorim, sintaksa nije kao sto je go X rekao. ako ocesh sve redove od 30-og do 60-og, onda je sintaxa "limit 30, 30" jer druga brojka obelezava broj redova, a ne maximalni red do koga treba vratiti...
[ Goran Rakić @ 09.09.2002. 14:19 ] @
prosto se stidim sta sam lupio.... ;) zaneo sam se bez veze...
[ Ivan Golubović @ 09.09.2002. 23:26 ] @
RAZZLEDAZZLER isprobao sam tvoj kod i on sve lepo ogranici ali pojavi se mySQL upozorenje
Warning: Unable to jump to row 1 on MySQL result index 3 in c:\apache\htdocs\test\output.php on line 16

i ne prikaze mi Next i Prev tastere :(

Rezime: Jasno mi je kako funcionise ogranicavanje, ali sada mi nije jasno kako da napravim tastere za setanje po bazi (Next i Prev) ?
[ RAZZLEDAZZLER @ 10.09.2002. 02:24 ] @
ups.... izvini. Ovih dana nemam puno vremena, pa odgovaram i pishem nekako u letu, pa nisam imao vremena da proverim kod

Ispravi liniju
$num = mysql_result($result_count, $broj_po_strani);
u
$num = mysql_result($result_count, 0);

tu je sigurno greshka :D

Pretpostavljam da je to jedina. Stvarno sada ne mogu da proveravam kod. Izvini.

Ako naidjesh na josh neku greshku [mada ne bi trebalo], slobodno kazi. Prepravicu.
[ Ivan Golubović @ 10.09.2002. 10:38 ] @
Radi.

HVALA !