вот это
$number_of_pages=$number/($links_number*$lines_number);
$number_of_pages1=(int)$number_of_pages;
if ($number_of_pages> $number_of_pages1){$number_of_pages=$number_of_pages1+1;}
заменяется на
$number_of_pages=ceil($number/($links_number*$lines_number));
И в остальных так же.
Для того, чтобы понять дальше, надо понимать, чем ссылки на странице отличаются от строк на странице. А я не понимаю, что это вообще такое.
Да и вообще - что проверять-то? Если работает - то и пусть работает. Если не работает - задавать надо конкретный вопрос.
непонятно, зачем дублировать информация. $a можно вычислить из $page.
нормальные имена переменных соседствуют с какими-то а, з.
Неохота разбираться.
Как-то у вас, ребята, уж больно наворочено...
я передаю сразу номер записи, с котрой начинать, безо всяких страниц. И все.
собственно, вся постраничка укладывается в несколько строк
$pages=ceil($tolal_rows/$rows_per_page);
for ($i=1; $i<=$pages; $i++) {
$from=$i*$rows-($rows-1);
$to=$i*$rows;
if ($to > $total_rows) $to = $total_rows;
if ($limit==$from) echo $from,"-",$to;
else echo \'<a href="\',$PHP_SELF,\'?limit=\',$from,\'">\',$from,"-",$to,\'</a>\';
echo " ";
}
Если выводить не номера записей, а номера страиц, то получится еще проще
$pages=ceil($tolal_rows/$rows_per_page);
for ($i=1; $i<=$pages; $i++) {
$from=$i*$rows-($rows-1);
if ($limit==$from) echo $i," ";
else echo \'<a href="\',$PHP_SELF,\'?limit=\',$from,\'">\',$i,\'</a> \';
}
еще только в запросе писать LIMIT $limit-1, $rows_per-page