if( !empty($_POST) or $this->request->param('id') != '')
{
$post = Validation::factory($_POST);
$post
->rule('search', 'not_empty')
->rule('search', 'max_length', array(':value',40));
if($post -> check() or $this->request->param('id') != '') {
if(!empty($_POST))
{
$_SESSION['se'] = $post['search'];
}
if(isset($_SESSION['se']))
{
$searchstring = $_SESSION['se'];
}
else //
{
$searchstring = 'fuck';
}
// Переменная хранит число сообщений выводимых на станице
$num = 3;
// Извлекаем из URL текущую страницу
$page = $this->request->param('id');
// Определяем общее число сообщений в базе данных
$posts = ORM::factory('user')
-> where( DB::expr('concat(fname," ",sname)'),"like","%$searchstring%")
-> count_all();
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
$searchresult = ORM::factory("user")
-> where( DB::expr('concat(fname," ",sname)'),"like","%$searchstring%")
-> order_by("id","desc")
-> limit($num)
-> offset($start)
-> find_all();
// Проверяем нужны ли стрелки назад
if ($page != 1)
{
$pervpage = '<a href= ./1><<</a> <a href= ./'. ($page - 1) .'><</a> ';
}
else
{
$pervpage = '';
}
// Проверяем нужны ли стрелки вперед
if ($page != $total)
{
$nextpage = ' <a href= ./'. ($page + 1) .'>></a> <a href= ./' .$total. '>>></a>';
}
else
{
$nextpage = '';
}
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0)
{
$page2left = ' <a href= ./'. ($page - 2) .'>'. ($page - 2) .'</a> | ';
}
else
{
$page2left = '';
}
if($page - 1 > 0)
{
$page1left = '<a href= ./'. ($page - 1) .'>'. ($page - 1) .'</a> | ';
}
else
{
$page1left = '';
}
if($page + 2 <= $total)
{
$page2right = ' | <a href= ./'. ($page + 2) .'>'. ($page + 2) .'</a>';
}
else
{
$page2right = '';
}
if($page + 1 <= $total)
{
$page1right = ' | <a href= ./'. ($page + 1) .'>'. ($page + 1) .'</a>';
}
else
{
$page1right = '';
}
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
// если нет результатов поиска, включаем див с ошибкой под текстовым полем
if( $searchresult -> count() < 1)
{
$this->template -> found = '';
}
$this->template -> searchresult = $searchresult;
$this->template -> seCount = $searchresult -> count();
}
else
{
$this -> template ->error_array = $post->errors('userserror');
}
}
Форум → Сообщество → Флейм → Зацините как я наговнокодил :D
Зацините как я наговнокодил :D
-
Такое первый раз писал, не судите)) дайте лучше советы. Вообще до этого момента не знал что такое постраничная навигация.
-
-
-
28 октября 2011 г. 0:47, спустя 28 минут 44 секунды
лютая бешеная хуетане всё полезно, что в swap полезло -
28 октября 2011 г. 0:49, спустя 1 минуту 40 секунд
у меня так гуф умерYou can be anything you want to be. Just turn yourself into anything you think that you could ever be. -
28 октября 2011 г. 1:11, спустя 22 минуты 1 секунду
я так не умею XDВысокоуровневое абстрактное говно -
-
-
28 октября 2011 г. 11:16, спустя 9 часов 37 минут 9 секунд
http://pyha.ru/articles/php/paginator/
опять изобретатели велосипедов на піха.ру… -
28 октября 2011 г. 14:45, спустя 3 часа 29 минут 20 секунд
да не пиздите постраничка с softtime)))Спустя 55 сек.тут мое только это говноif(!empty($_POST))
{
$_SESSION['se'] = $post['search'];
}
if(isset($_SESSION['se']))
{
$searchstring = $_SESSION['se'];
}
else //
{
$searchstring = 'fuck';
} -
28 октября 2011 г. 15:23, спустя 37 минут 41 секунду
softtime? не, не слышалYou can be anything you want to be. Just turn yourself into anything you think that you could ever be. -
28 октября 2011 г. 15:42, спустя 19 минут 28 секунд
да мне похуй, слушал ты)) или нет)))
softtime? не, не слышал -
28 октября 2011 г. 16:53, спустя 1 час 11 минут 2 секунды
бесится и лыбится)) интересно))Высокоуровневое абстрактное говно -
28 октября 2011 г. 17:12, спустя 19 минут 12 секунд
iphine5g, так софттайм под 4-ую пыху вообще весь закошен :) -
28 октября 2011 г. 17:53, спустя 40 минут 41 секунду
ну зато они в поисковой выдаче первые))
iphine5g, так софттайм под 4-ую пыху вообще весь закошен :)
Пожалуйста, авторизуйтесь, чтобы написать комментарий!