Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> небольшая проблема с гостевой книгой 
:(
    Опции темы
mc
Дата 6.8.2004, 12:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











я новичок в PHP. пишу гостевую книгу.. книга пока что убога и крива, но это только пока smile.gif

я хочу сделать страницы. т.е. чтобы на каждой странице было лишь 10 сообщений. я до одного не вьезжаю, допустим вывел я первые 10 сообщений, а остальные как выводить? сделать создание файла? или заранее несколько файлов чтоли.. брр помогите плиз
  Вверх
skalex
Дата 6.8.2004, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 8
Всего: 23



Надо сделать "постраничную разбивку". Это стандартный элемент для подобных вещей.
Делается очень просто. Определяешь кол-во всех сообщений, делишь на кол-во сообщений, которые должны отображаться на 1 странице - получаешь кол-во страниц.
А дальше циклом формируешь HTML - верстку (грубо говоря цифровые ссылки на страницы с передачей параметра (номера страницы)). Ну а выводишь список сообщений - в зависимости от передаваемого параметра!
Есть конечно и свои ньюансы в этом деле.... hehe.gif
PM   Вверх
Ignat
Дата 6.8.2004, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73





--------------------
Теперь при чем :P
PM   Вверх
mc
Дата 6.8.2004, 14:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
А дальше циклом формируешь HTML - верстку (грубо говоря цифровые ссылки на страницы с передачей параметра (номера страницы)).

можно вот тут поподробней, плиз.
  Вверх
skalex
Дата 6.8.2004, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 8
Всего: 23



Вот простой класс, который делает постраничную разбивку. Только смещение страниц здесь не реализовано. Руки не доходят...

Код
<?php

/**
 * Pager.php - Класс построения простой постраничной навигации.
*/

class Pager {

 /**
  * @var integer - Общее количество элементов
 */
 var $numOfItems;

 /**
  * @var integer - Количество элементов на одной странице
 */
 var $numOnPage;

 /**
  * @var integer - Количество страниц разбиения
 */
 var $numOfPages;

 /**
  * @var integer - Текущая страница
 */
 var $currentPage;

 /**
  * @var string  - Шаблон адреса страницы
 */
 var $urlTemplate;

 /**
  * Конструктор  - Инициализация полей экземпляра класса в зависимости от переданных параметров
  * @param int   - Общее количество элементов
  * @param array - Ассоциативный массив параметров c ключами numOnPage, currentPage, urlTemplate
 */
 function Pager($numOfItems, $parms = array()) {
   $this->numOfItems = $numOfItems;
   foreach ($parms as $key => $value) $this->$key = $value;
 }

 /**
  * Метод show()   - Построение HTML-верстки постраничной навигации
  * @return string - HTML-верстка
 */
 function show() {
   $temp = $this->numOfItems / $this->numOnPage;
   $this->numOfPages = ($temp == intval($temp)) ? $temp : intval($temp) + 1;
   for ($i = 1; $i <= $this->numOfPages; $i++) $html .= ($i == $this->currentPage) ? '<b>'.$i.'</b> ' : '<a href="'.sprintf($this->urlTemplate, $i).'">'.$i.'</a> ';
   return trim($html);
 }

}


?>

Вот - как использовать:

Код
$parms = array(
              'numOnPage'   => 20,
              'currentPage' => $page,
              'urlTemplate' => 'imgnavigator.htm?page=%s'
);
$pager = new Pager([сюда надо подставить общее кол-во элементов], $parms);


Ну а потом, там где необходимо:
Код
echo $pager->show()


Это сообщение отредактировал(а) Mace - 6.8.2004, 14:38
PM   Вверх
IZ@TOP
Дата 6.8.2004, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Модератор: нзвание темы должно отражать ее суть! И хочу заметить что тема неодноратно обсуждалсь.

Тема закрта и в ближайшее время будет удалена.


PS Если что то непонятно, продолжаем обсуждать все эти вопросы в этой теме.



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.