Каждый из кодеров рано или поздно сталкивается с такой проблемой, как постраничный вывод контента. Сегодня я попытаюсь рассказать, как вышел из этой проблемы я. Вывод конечно реализован при использовании БД, так как файлы по моему личному мнению несерьезное дело и не превели еще ни одного кодера к чему-нибудь хорошему.
Приведенный код (см. выше) выносим в отдельный файл, например, navigation.php. В странице, где нужна \"постраничка\", коннектинся к БД, инклудим мой файл и в нужном месте вызываем функцию navigation($page, $all_page); Для выборки записей используем запрос $q = mysql_query(\"SELECT * FROM `table` LIMIT $start, $length\"*. Все!
Данный листинг выражает лишь мою реализацию постраничного вывода (урезанного и облегченного для понимания новичком) и не претендует на звание \"единственно правильного решения\".

                        
<?php



$length = 10;

if(isset($_GET['page'])) {

$page = abs(intval($_GET['page']));

}

else {

$page = 0;

}

$start = $page * $length;

$q = mysql_query('SELECT * FROM `table`');

$all_msg = mysql_num_rows($q);

$all_page = $all_msg / $length - 1;

function navigation($page, $all_page) {

if($page > 0 && $page <= $all_page)

{ echo '<a href="' . $_SERVER['PHP_SELF'] . '?page=' . ($page - 1) . '">&laquo;Назад</a>'; }

if($page < $all_page)

{ echo '<a href="' . $_SERVER['PHP_SELF'] . '?page=' . ($page + 1) . '">Далее&raquo;</a>'; }

}

?>
-1 15 0
0

Нет фото
Mstivoj * 2.18
• 30 мар 2013, 05:32


Какашка...

0

Нет фото
Classik * 0.21
• 29 мар 2013, 21:59


Чушь полная, эта функция ничего не выдаст, так как неизвестно сколько записей в базе, тоесть она будет листрать бесконечно. И это вобше будет лишним
<?
$q = mysql_queru(\"SELECT * FROM table\"*;
?>