Forum Webscript.Ru
Программирование => PHP => Тема начата: 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
:) хм... чем тебя не устроил $_REQUEST ну или $_GET ?