Постраничная навигация

Печать RSS
243

Y
Автор
Землянин
0
не могу сделать навигацию по такому шаблону <<< 1,2,3,4,5,6 >>>
	private function get_navigation_menu($app)
	{
		$app->set("menu", $app->get('DB')->exec("SELECT * FROM `categories`"));
		$app->set("static_page", $app->get('DB')->exec("SELECT * FROM `static_page`"));
	}

	public function pagination($table='posts')
	{

	$current_page = $this->app->get('PARAMS.page')-1;
#переменная news - находится в конфиге -_- news = количество новостей на страницу.
	$next_page = (1+$current_page) * $this->app->get("news");

	$prev_page = ($current_page-1) * $this->app->get("news");

		if($table == 'posts')
		{
			$category_id = $this->app->get('PARAMS.id_category');
			if($this->app->get("admin_panel"))
			{
				$query = "SELECT `id` FROM `posts` ORDER BY `id` desc  LIMIT ?,?";

			$query_params['inc'] = array(
									 	  1 => $next_page, 
									  	  2 => $this->app->get('news')
									  	);

			$query_params['dec'] = array(
										  1 => $prev_page,
									  	  2 => $this->app->get('news')
									  	);
			}
			else
			{
			
			$query = "SELECT `id` FROM `posts` WHERE `category_id` = ? ORDER BY `id` desc  LIMIT ?,?";
		
			#Только для удобочитаемости, я не про форматирование текста =_=

			$query_params['inc'] = array(
										  1 => $this->app->get('PARAMS.id_category'),
									 	  2 => $next_page, 
									  	  3 => $this->app->get('news')
									  	);

			$query_params['dec'] = array(
										  1 => $this->app->get('PARAMS.id_category'),
									 	  2 => $prev_page,
									  	  3 => $this->app->get('news')
									  	);
			}
		}
		else
		{
			$category_id = $table;
			$query = "SELECT `id` FROM $table ORDER BY `id` desc LIMIT ?,?";

			$query_params['inc'] = array(
										  1 => $next_page, 
										  2 => $this->app->get('news')
										);

			$query_params['dec'] = array(
										  1 => $prev_page, 
										  2 => $this->app->get('news')
										);
		}



Изменил: YouMobe (11.04.2014 / 08:42)
Y
Автор
Землянин
0
	$this->app->exists('text_prev') ? '' : $this->app->set('text_prev', "Вперед на ".$this->app->get("news")." публикаций<strong style=\"font-size: 20px;\">&nbsp;&#8594;</strong></a>");
	$this->app->exists('text_next') ? '' : $this->app->set('text_next', "<strong style=\"font-size: 20px;\">&#8592;&nbsp;</strong>Назад на ".$this->app->get("news")." публикаций</a>");

	if(!$this->app->exists('admin_panel'))
	{
		$link['inc'] = "<a href='/category/".$category_id."/".($this->app->get('PARAMS.page')+1)."/'>".$this->app->get('text_next');
		$link['dec'] =  "<a href='/category/".$category_id."/".($this->app->get('PARAMS.page')-1)."/'>".$this->app->get('text_prev');
	}
	else
	{
		$link['inc'] = "<a href='".$this->app->get('admin_panel')."".($this->app->get('PARAMS.page')+1)."/'>".$this->app->get('text_next');
		$link['dec'] = "<a href='".$this->app->get('admin_panel')."".($this->app->get('PARAMS.page')-1)."/'>".$this->app->get('text_prev');
	}
		

			$this->app->get('DB')->exec(
						$query, 
						$query_params['inc']);

		 				if($this->app->get('DB')->count() != NULL)
		 					$this->app->set("next_page", $link['inc']);	

		 			$this->app->get('DB')->exec(
		 				$query, 
		 				$query_params['dec']);

		 				if($this->app->get('DB')->count() != NULL)
		 					$this->app->set("prev_page", $link['dec']);	
		}
	
}
_

Пришелец
0
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск