Что такое разбивка на страницы? Самый простой пример - поисковые машины. Вы даете команду на поиск в ответ на что сервер выдает тысячи ссылок (и прочая информация типа названия страницы, даты, и пр.). Но находится данная информация не на одной странице. Она разбита на части. В этом примере вы научитеть разбивать результат поиска по базе данных на куски, чтобы организировать постарничный вывод.
Создадим файл default.phtml, который содержит базовые фукнции. Вам надо подправить параметры (host/user/pass/base)
<?
// Глобальная переменная. Например, нужна в функции коннекта. $sock=false;
// новые функции function sql($a) { return mysql_query($a); } function sqlrows($a) { return @mysql_num_rows($a); } function sqlval($a,$b,$c) { return @mysql_result(mysql_query($a),$b,$c); } function sqlget($a) { return @mysql_fetch_array($a); } function sqlline($a) { return sqlget(sql($a)); } function sqllast() { return mysql_insert_id(); }
// коннект к серверу function connect() { global $sock;
данный файл (create.phtml) создаст таблицу limit_test и забьет в нее 500 строк вида из разных строк.
<?
include(./default.phtml);
connect();
// удаляем таблицу (на всякий случай) sql(drop table limit_test); // создаем if (!sql(create table limit_test (id int, s char(100)))) xdie(,Таблица не создана);
srand(time());
// создаем запрос вида << ... values (x,xx), (y,yy), ... (z,zz) >> $s=insert into limit_test values ;
for ($i=0; $i<500; $i++) {
$s.=($i,; $x=rand(1,100); for ($j=0; $j<$x; $j++) $s.=chr(rand(ord(a),ord(z))); $s.=); if ($i+1<500) $s.=,;
}
// выполняем запрос, чтобы наполнить таблицу данными if (!sql($s)) xdie($s,Таблица не заполнена);
?>
Собственно, сам файл (search.phtml), который выводит на экран форму для поиска и выводит найденные результаты по ?? штук на страницу.