/** * 筛选功能测试 */ function shaixuan() { load_function('content', 'content'); //type = 套餐类别,area = 区域,city=城市,st=排序类型,asc=降序,升序 0升序,1降序 //$linkurl = "index.php?m=demo&f=test&v=shaixuan&page=1&pinpai=1&renqun=1&type=2&price=100_200&area=2&tese=1_2_3&st=0&asc=1"; $urlrule = 'index.php?m=demo&f=test&v=shaixuan&pinpai={$pinpai}&renqun={$renqun}&type={$type}&price={$price}&area={$area}&tese={$tese}&st={$st}&asc={$asc}&page={$page}'; $_POST['page_urlrule'] = 'tuan-{$pinpai}-{$renqun}-{$type}-{$price}-{$area}-{$tese}-{$st}-{$asc}-{$page}.html'; $page_fields = array(); $page_fields['pinpai'] = 2; $page_fields['renqun'] = 3; $page_fields['type'] = 4; $page_fields['price'] = '100_200'; $page_fields['area'] = 5; $page_fields['tese'] = '1_2_3'; $page_fields['st'] = '6'; $page_fields['asc'] = 0; echo _pageurl($_POST['page_urlrule'], 2, $page_fields); echo "<br>"; $_POST['page_fields'] = $page_fields; echo filter('pinpai', '88'); echo "<br>"; echo filter('renqun', '55'); }
/** * 分页函数 * * @param $num 信息总数 * @param $current_page 当前分页 * @param $pagesize 每页显示数 * @param $urlrule URL规则 * @param $variables url规则替换变量 * @param $limit 显示分页数列 * @return 分页 */ function pages($num, $current_page, $pagesize = 20, $urlrule = '', $variables = array(), $limit = 10) { $output = ''; $num = intval($num); $pagesize = intval($pagesize); $maxpage = ceil($num / $pagesize); if ($current_page > $maxpage) { $current_page = $maxpage; } if ($urlrule != '' && isset($_GET['_variables'])) { $urlrule = $_GET['_variables']; } elseif ($urlrule == '') { $par = 'page={$page}'; $url = URL(); $pos = strpos($url, '?'); if ($pos === FALSE) { $url .= '?' . $par; } else { $querystring = substr(strstr($url, '?'), 1); parse_str($querystring, $pars); $query_array = array(); foreach ($pars as $k => $v) { if ($k != 'page') { $query_array[$k] = $v; } } $querystring = http_build_query($query_array) . '&' . $par; $urlrule = substr($url, 0, $pos) . '?' . $querystring; } } //上一页 $pageup = max($current_page - 1, 1); $output .= '<li title="按住向左方向键 向前翻页"><a href="' . _pageurl($urlrule, $pageup, $variables) . '"><</a></li>'; //第一页 $active = ''; if ($current_page == 1) { $active = 'class="active"'; } $output .= '<li><a ' . $active . ' href="' . _pageurl($urlrule, 1, $variables) . '">1</a></li>'; $difference = $limit + 1; $difference2 = ceil($limit / 2 - 1); $startpage = $current_page - $difference2; $endpage = $current_page + $difference2; if ($difference >= $maxpage) { $startpage = 2; $endpage = $maxpage - 1; } else { if ($startpage <= 1) { $endpage = $difference - 1; $startpage = 2; } elseif ($endpage >= $maxpage) { $startpage = $maxpage - ($difference - 2); $endpage = $maxpage - 1; } if ($current_page <= $difference2 + 1) { $endpage += 1; } if ($maxpage - $current_page <= $difference2) { $startpage -= 1; } } for ($i = $startpage; $i <= $endpage; $i++) { $active = ''; if ($current_page == $i) { $active = 'class="active"'; } $output .= '<li><a href="' . _pageurl($urlrule, $i, $variables) . '" ' . $active . '>' . $i . '</a></li>'; } //最后一页 if ($maxpage > 1) { $active = ''; if ($current_page == $maxpage) { $active = 'class="active"'; } $output .= '<li><a ' . $active . ' href="' . _pageurl($urlrule, $maxpage, $variables) . '">' . $maxpage . '</a></li>'; } //下一页 $pagedown = $current_page + 1; if ($pagedown >= $maxpage) { $pagedown = $maxpage; } //热键 $output .= '<input type="hidden" id="page-up" value="' . _pageurl($urlrule, $pageup, $variables) . '">'; $output .= '<input type="hidden" id="page-next" value="' . _pageurl($urlrule, $pagedown, $variables) . '">'; $output .= '<script>$(this).focus();</script>'; $output .= '<li title="按住向右方向键 向后翻页"><a href="' . _pageurl($urlrule, $pagedown, $variables) . '">></a></li>'; return $output; }
/** * @param $field 要筛选的字段 * @param $value 值 */ function filter($field, $value) { $page_fields = $_POST['page_fields']; $page_fields[$field] = $value; return _pageurl($_POST['page_urlrule'], 1, $page_fields); }