Не скажу что лучше, но скажу что я сам написал и попрошу оценить по всех строгости но адекватности....на будущее...
PHP |
error_reporting(E_ALL & ~E_NOTICE);
if (isset($_GET['page'])){$page = $_GET['page'];} else{$page = 1;}
$q = "SELECT count(*) from data"; $res = mysql_query($q); $mr = mysql_fetch_row($res);
$onpage = 3;//News for 1 page $numpost = $mr[0]; //Number of ALL post $page--*$onpage,$onpage
$page = $page - 1; $page = $page*$onpage;
$result = mysql_query("SELECT * FROM data LIMIT $page,$onpage");
while($row = mysql_fetch_array($result)){ printf(" <table width='400px' align='center' height='200px' border='1' cellspacing='1' cellpadding='1'> <tr> <td>%s</td> </tr> <tr> <td>%s</td> </tr> </table> ", $row['title'], $row['description']); }
for($vpage=0, $num=1; $vpage < $numpost; $vpage=$vpage + $onpage, $num++){ echo "<a href='?page=$num'>$num|</a>"; } |
welbox2 Стиль Попова имелось в виду другое. Мы не про Ваш код рассуждали, а о том, что я учился по урокам Попова. И это видно по моему кодированию - манере выбора названия переменным и использованию функций....
А ниже выкладываю функцию друга...тоже в ожидании критики.
PHP |
//Генерациястроки перехода по страницам //$count - количество страниц //$current - текущий элемент //$url - урл, на который ссылаются. &id& заменяется на порядковый номер элемента http://site.ru/page%id&.html //$nextpreview - далее-назад //$firstlast - в начало-в конец //$separator - разделитель элементов //$view - количество элементов, которые показывать function content_pageline($count,$current,$url,$nextpreview=false,$firstlast=false,$separator='',$view=0) { if($separator=='')$separator=' '; if($view==0)$view=6; if($view>$count)$view=$count; $str=array(); if($count<=$view) { for($i=1;$i<=$view;$i++)if($current!=$i)$str[]='<a href="'.str_replace('&id&',$i,$url).'">'.$i.'</a>';else$str[]='<b>'.$i.'</b>'; } elseif($current<=$count && $current>=1) { $length=$view-2; $from=intval($current-($length/2)); if($from<2)$from=2; $to=$from+$length; if($to>=$count) { $from=$count-$length-1; $to=$count-1; } if($current!=1)$str[]='<a href="'.str_replace('&id&',1,$url).'">1</a>'.($from>2?'...':'');else$str[]='<b>1</b>'; for($i=$from;$i<=$to;$i++)if($current!=$i)$str[]='<a href="'.str_replace('&id&',$i,$url).'">'.$i.'</a>';else$str[]='<b>'.$i.'</b>'; if($current!=$count)$str[]=($to<($count-1)?'...':'').'<a href="'.str_replace('&id&',$count,$url).'">'.$count.'</a>';else$str[]='<b>'.$count.'</b>'; } else return false; $str=implode($separator,$str); if($nextpreview)$str=($current!=1 ? ('<a href="'.str_replace('&id&',($current-1),$url).'">Назад</a>'.$separator):'').$str.($current!=$count ? ($separator.'<a href="'.str_replace('&id&',($current+1),$url).'">Далее</a>'):''); if($firstlast)$str=($current!=1 ? ('<a href="'.str_replace('&id&',1,$url).'">В начало</a>'.$separator):'').$str.($current!=$count ? ($separator.'<a href="'.str_replace('&id&',$count,$url).'">В конец</a>'):''); return $str; } |