Вы не зашли.
Главная » PHP » Функция навигации по страницам
#101. tipsun Off (19)
Moderator
2012.01.05 20:08
Ну так если пользователь ниче не введет, то с чем работать? >_>
#102. Gemorroj Off (107)
Administrator
2012.01.05 20:08
с дефолтовыми данными!
#103. tipsun Off (19)
Moderator
2012.01.05 21:09
Фух, вот как бы.
Код:
span style="color: #0000BB"><?phpclass PageMan{ const DEFAULT_RANGE = 3; private $_count = 0, $_page = 1, $_items = 10, $_pages = null, $_start = null; public function __construct() { } /** * Проверка числа на принадлежность к множеству натуральных. * @param integer $var * @return bool */ public function isNatural($var) { return (is_numeric($var) and 0 < $var); } /** * Регистрация общего кол-ва записей. * @param integer $count * @return pageMan */ public function setCount($count) { if ($this->isNatural($count)) { $this->_count = (int)$count; } return $this; } /** * Регистрация текущей страницы. * @param integer $page * @return pageMan */ public function setPage($page) { if ($this->isNatural($page)) { $this->_page -= (int)$page + 1; } return $this; } /** * Регистрация кол-ва записей на страницу. * @param integer $items * @return pageMan */ public function setItems($items) { if ($this->isNatural($items)) { $this->_items = (int)$items; } else if($this->_count) { $this->_items = $this->_count; } return $this; } /** * Расчет общего кол-ва страниц. * @return integer */ public function getPages() { if (null === $this->_pages) { $this->_pages = (int)ceil($this->_count / $this->_items); if (0 == $this->_pages) $this->_pages += 1; } return $this->_pages; } /** * Получение номера корректной текущей страницы. * @return integer */ public function getPage() { if (0 > $this->_page) { $this->_page = -$this->_page; if ($this->_page > $this->getPages()) { $this->_page = $this->_pages; } } return $this->_page; }//продолжение следует...}
Отредактировано tipsun (2012.01.05 23:11)
#104. Gemorroj Off (107)
Administrator
2012.01.05 21:09
убери из конструктора передачу параметров и мб сделай класс сингелтоном.
так же исправь вызовы isNatural
сам isNatural можно сделать таким:
return (is_numeric($var) and 0 < $var);
#105. tipsun Off (19)
Moderator
2012.01.05 22:10
Gemorroj написал:

сам isNatural можно сделать таким:
return (is_numeric($var) and 0 < $var);
Круто. Тоже true/false возвращает. smile
#106. Gemorroj Off (107)
Administrator
2012.01.05 23:11
Gemorroj написал:
так же исправь вызовы isNatural
ты запускал свой класс вообще?)
#107. tipsun Off (19)
Moderator
2012.01.05 23:11
Неа smile
Я все редактиру, да редактирую.
Сейчас. Секунду.
- - - -
Синглтон (Singleton) тоже посмотрел, завтра добавлю, надеюсь.
Отредактировано tipsun (2012.01.05 23:11)
#108. tipsun Off (19)
Moderator
2012.01.05 23:11
Хмм, я её даже переименовал, все. Все равно ошибку дает. sad
Fatal error: Call to undefined function kakaxa() in /usr/home/tipsun/ext/pageman/index.php on line 44
Если её убрать. То на следующий вызов так же говорит.
Чудеса и только...
Отредактировано tipsun (2012.01.05 23:11)
#109. tipsun Off (19)
Moderator
2012.01.05 23:11
Ой. Совсем уже!!! $this->isNatural()
Добавлено спустя   2 минуты  55 секунд:
Ща фишку тоже напишу и спать срочно.
Отредактировано tipsun (2012.01.05 23:11)
#110. tipsun Off (19)
Moderator
2012.01.05 23:11
Все написал фишку #103, связана с $this->_page и $this->getPage()
Не хотел использовать $_tmpPage
Расчитана на повторное использование getPage() чтоб лишний раз лишние функции не трогать
Оригинальный дебилизм big_smile
Все таки $_tmpPage проще намного. Потом переделаю.
Отредактировано tipsun (2012.01.05 23:11)
Страниц: 19 10 11 12 1316 Все
Главная
WEB
PunBB Mod v0.6.2
0.012 s