Разбитие по страницам

Статус
В этой теме нельзя размещать новые ответы.

shmitacc

Постоялец
Регистрация
31 Авг 2009
Сообщения
76
Реакции
6
Помогите реализовать функцию разбиения контента на страницы...
что бы эт функция была универсальной (что б в разные места сайта подставлять и она работала)

пока что мало что есть... вот

name - имя
kolZap - количество записей
kolZapInPage - количество записей на странице
item - текущая страница

PHP:
function setMorePages($Name, $kolZap, $kolZapInPage, $item)
{

}
а что в самой фенки делать не имею понятия :nezn:
 
Посмотри примеры на softtime

А вообще инфа на эту тему есть на форуме+google
 
переменная "$Name" это случайно не массив?
как вы себе представляете результат вызова этой ф-ции?
PHP:
setMorePages("Новость1", 20, 10, 1)
получаем:
Код:
Новость1
Новость1
Новость1
...
Новость1

Страница [B]>1<[/B] 2
 
В зависимости от области и предмета выборки будет разниться и функция. Конкретизируйте вопрос.
 
Писал месяц назад гостевую книгу для тренировки. Оттуда функция

PHP:
function vyvod_iz_faila()

{

global $zapisi_v_gb, $messages_per_page, $totlines, $line, $pagini, $page;



@$data=array_reverse(file("messages.txt"));
//@$data=file("messages.txt");
$totlines=count($data);


if (!isset($totlines))
{
$totlines=0;
}


$int=ceil($totlines/$messages_per_page); // вычисляем количество страниц 

// Проверяем значение параметра page 
if(empty($_GET['page'] ))
  {
 $page = $int; 
  }

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



// Вывод ссылок



if ($int*$messages_per_page < $totlines): $pages=$int+1; else:
$pages=$int; endif; if(@$page < 1 || @$page > $pages) {$page=1;}




for ($link=$pages;$link >=1;$link--) // Выводим ссылки на другие страницы

 {

   if ($link!=$page)
     {
     @$line.="<a href='".$_SERVER["SCRIPT_NAME"]."?page=$link'>[$link]</a>"; 
     }
    if ($link==$page) 
     {
      @$line.=" $link ";
     }

      if (!isset($line))
         {
         $line=1;
         }

}


$pagini = "<p>Всего записей $totlines, Страницы <b>$line</b></p>";


if (!isset($page)) {$page=1;} 
if (!isset($line)) {$line=1;}

$to=$totlines+(1-$page)*$messages_per_page; 


$from=$to-$messages_per_page; 


if ($from < 0) {$from=0;} 

ob_start();


for($j=$from; $j <= $to-1; $j++)

{
list($name1,$time1,$date1,$message1)=split(":::","$data[$j]", 4);
$number1=$totlines-$j;
include ('zapisi.tpl'); 
}
 
Поправьте ваше сообщение, вставьте код в теги PHP

П.С. ужасно написан код, видно неопытность и к тому же глобальные переменные лучше не использовать, думаю не самый лучший пример для показа вывода постраничной навигации.
 
Поправьте ваше сообщение, вставьте код в теги PHP
вообще то он именно в ПХП тегах
П.С. ужасно написан код, видно неопытность и к тому же глобальные переменные лучше не использовать
а какие еще использовать переменные? или функция сама должна придумать переданные переменные?
думаю не самый лучший пример для показа вывода постраничной навигации.
твоего примера я вообще не вижу...

Повторяю, функция должна быть универсальной

juggernaut13,verissimo,axevs, спасибо...
 
Специально для Вас написал практически универсальную ф-цию.
Возможно есть и недочеты, но она работает с любой таблицей и с любыми полями. Их необходимо указывать самому.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху