Forum Webscript.Ru

Программирование => PHP => Тема начата: kler от 28 Декабря 2009, 07:40:05

Название: Постраничная навигация массива
Отправлено: kler от 28 Декабря 2009, 07:40:05
Подскажите, пожалуйста, как разбить постранично вывод продуктов, если за основу взят массив id - $product_array. То есть проблема передать массив на другие страницы. Не знаю как передать массив на другие страницы (2-ая и т.д.)
Код следующий:

// Переменная хранит число продуктов выводимых на странице

$num = 6;

// Извлекаем из URL текущую страницу, т.е. значение limit

$page = $_GET[\'limit\'];

// Определяем общее число продуктов в базе данных    

$total = count($product_array);

// Находим общее число страниц

$total_pages = intval(($total - 1) / $num) + 1;

// Определяем начало продуктов для текущей страницы

$page = intval($page);

// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю

if(empty($page) or $page < 0) $page = 1;
if($page > $total_pages) $page = $total_pages;

// Вычисляем начиная к какого номера
// следует выводить сообщения
$limitstart = $page * $num - $num;

$products_arr = array_slice($product_array,  $limitstart, $num);
foreach ($products_arr as $k => $product_id)
{
$product_price = $this->show_price( $product_id );
...
}

// навигация
...

if($page + 1 <= $total_pages) $page1right = \' | \'. ($page + 1) .\'\';

...

Сайт на Joomla, причем VirtueMart, но я заблудилась в JPagination и навигации специально для VirtueMart.

Может кто подскажет какие-либо решения.
Название: Постраничная навигация массива
Отправлено: kler от 28 Декабря 2009, 11:55:27
Я уже сама догадалась. Массив можно передать через сессии.
Название: Постраничная навигация массива
Отправлено: for_i_0 от 06 Мая 2010, 01:43:26
kler
:) хм... чем тебя не устроил $_REQUEST ну или $_GET ?