функция пагинация

M
На сайте с 01.10.2014
Offline
61
319

Всем привет. Помогите изменить url страниц пагинации в коде пагинации. Например, в url есть переменные и т.д. и он выглядит таким образом: /cards?nabor%5B%5D=7&nabor%5B%5D=8&page=2 , а скрипт выводит его в таком виде: /cards?nabor=&page=2 . Вот нужно, чтобы код возвращал первый вариант. Вот как выглядит скрипт:

function get2set ($key='', $val='') { // функция перевода переменных $_GET в массив, с учетом поправки
$set = array();
$set = $_GET;
if ( !empty($key) && is_array($set) ) {
if ( is_array($key) ) {
if ( count($key)>0 ) {
foreach ( $key as $k=>$v ) if ( empty($v) ) unset($set[$k]); else $set[$k] = $v;
}
} else {
if ( empty($val) ) unset($set[$key]); else $set[$key] = $val;
}
}
return $set;
}
function get2str ($key='', $val='') { // функция перевода переменных $_GET в строку, с учетом поправки
$set = get2set($key, $val);
if ( count($set)>0 ) {
foreach ($set as $k=>$v) $set[$k] = $k."=".urlencode($v);
return "?".implode("&",$set);
}
}

function pages ($total, $p, $pp=40) { // функция вывода страниц
$pages = array ();
$tpages = ceil ($total/$pp); // колличество страниц
$bpage = $p - 40; if ($bpage<1) $bpage = 1;
$epage = $p + 40; if ($epage>$tpages) $epage = $tpages;

if ( $p>1 ) $pages[] = '<a href="' . $_SERVER['REQUEST_URI'] . get2str("c", 1) . '">в начало</a>';
for ( $i=$bpage; $i<=$epage; $i++ ) $pages[] = ( $i==$p ) ? '<b>'.$i.'</b>' : '<a href="'. 'cards' . get2str("c", $i) . '">'.$i.'</a>';
if ( $p<$tpages ) $pages[] = '<a href="' . $_SERVER['REQUEST_URI'] . get2str("c", $tpages) . '">в конец</a>';

if ( count($pages)>0 ) echo '<p>'.implode (' | ',$pages).'</p>';
}
Лучшая вап клик пп для выкупа подписок (https://mcwap.ru/?r=1153)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий