evo resenja za moj problem:
<?php
function paginate($display, $pg, $total) {
/* make sure pagination doesn't interfere with other query
string variables */
if(isset($_SERVER['QUERY_STRING']) && trim(
$_SERVER['QUERY_STRING']) != '') {
if(stristr($_SERVER['QUERY_STRING'], 'pg='))
$query_str = '?'.preg_replace('/pg=\d+/', 'pg=',
$_SERVER['QUERY_STRING']);
else
$query_str = '?'.$_SERVER['QUERY_STRING'].'&pg=';
} else
$query_str = '?pg=';
/* find out how many pages we have */
$pages = ($total <= $display) ? 1 : ceil($total / $display);
/* create the links */
$first = '<a href="'.$_SERVER['PHP_SELF'].$query_str.'1">«
</a>';
$prev = '<a href="'.$_SERVER['PHP_SELF'].$query_str.($pg - 1).'">
‹</a>';
$next = '<a href="'.$_SERVER['PHP_SELF'].$query_str.($pg + 1).'">
›</a>';
$last = '<a href="'.$_SERVER['PHP_SELF'].$query_str.$pages.'">
»</a>';
/* display opening navigation */
echo '<div><p align="center">';
echo ($pg > 1) ? "$first : $prev :" : '« : ‹ :';
/* limit the number of page links displayed */
$begin = $pg - 4;
while($begin < 1)
$begin++;
$end = $pg + 4;
while($end > $pages)
$end--;
for($i=$begin; $i<=$end; $i++)
echo ($i == $pg) ? ' ['.$i.'] ' : ' <a href="'.
$_SERVER['PHP_SELF'].$query_str.$i.'">'.$i.'</a> ';
/* display ending navigation */
echo ($pg < $pages) ? ": $next : $last" : ': › : »';
echo '</p></div>';
}
/* set pagination variables */
$display = 5;
$pg = (isset($_REQUEST['pg']) && ctype_digit($_REQUEST['pg'])) ?
$_REQUEST['pg'] : 1;
$start = $display * $pg - $display;
/* paginating from a database */
$result = mysql_query("SELECT count(*) FROM news_table");
$total = mysql_result($result, 0);
$news = mysql_query("SELECT * FROM news_table ORDER BY date_field
ASC LIMIT $start, $display");
/* paginating from a flatfile */
$data = file('news.txt');
$total = count($data);
$news = array_slice(array_reverse($data), $start, $display);
paginate($display, $pg, $total);
/* display some $news */
foreach($news as $value) {
echo $value.'<hr />';
}
paginate($display, $pg, $total);
?>
zahvaljujem svima
p0zdrav