/** * 生成分页面板代码 * @param $param 需要传递的变量数组 格式 array("class"=>"投诉","sname"=>"姓名") * 也可以是全局变量的数组,如$_POST,$_GET * @param $type 分页选择/跳转类型 * @param $tpl * @return string */ public static function generateBarCode($param = array(), $type = 0, $tpl = '') { self::parseQs(); //处理url参数 //默认值 if ($type == 0) { $type = self::PAGINATE_BY_PAGECODE; } // 显示页面分页,不需要 if ($type & self::PAGINATE_BY_PAGECODE) { $isForm = false; } else { $isForm = true; } $qs = http_build_query($param); if (!empty($param) && !empty($_POST) && strlen($qs) > 1000) { self::$formMethod = $method = 'POST'; } else { $method = 'GET'; $param = array_merge($_GET, $param); } $panelStr = '<div id="' . self::$pagePanel . '" style="width:99%;"' . ' class="' . self::$pagePanelClass . '">' . "\n"; if ($isForm) { $panelStr .= '<form id="' . self::$pageFormId . '" name="" method="' . $method . '" ' . 'action="' . self::$firstUrl . '">' . "\n"; } //假如有附加变量,则添加相关的隐藏域来保存变量值 if ($isForm && is_array($param)) { $param_str = ' '; foreach ($param as $key => $value) { $except_param = array(self::$pageVar, 'submit'); //只显示值不为空的隐藏域 if ($value != '' && !in_array($key, $except_param)) { $panelStr .= '<input type="hidden" ' . 'name="' . $key . '" value="' . $value . '">' . "\n"; } } } if (self::$showRowsDetail && self::$rows > 0) { $panelStr .= '共有记录:' . self::$rows . ' 条 '; if (self::$from + 1 == self::$to) { $show = '显示第 ' . self::$to . ' 条'; } else { $show = '显示:' . (self::$from + 1) . '-' . self::$to . ' 条'; } $panelStr .= $show . ' 当前页: <font color="#ff0000">' . self::$page . '</font>/' . self::$total; } else { $panelStr .= ''; } //没有记录则退出 if (self::$rows <= 0) { $panelStr .= "\n</form>\n</div>\n"; return $panelStr; } /*页码翻页 START*/ if (self::$rows > 0 && $type & self::PAGINATE_BY_NAVPAGE) { //顺序编码 $panelStr .= self::getNavPageTurn(); } if (self::$rows > 0 && $type & self::PAGINATE_BY_SELECT) { //下拉框翻页码 $panelStr .= self::getSelectPageTurn(); } if (self::$rows > 0 && $type & self::PAGINATE_BY_INPUT) { //输入框翻页 $panelStr .= self::getInputPageTurn(); } if (self::$rows > 0 && $type & self::PAGINATE_BY_PAGECODE) { //页码列表翻页 $panelStr .= self::getPageCodeTurn(); } /*页码翻页 START*/ if ($isForm) { $panelStr .= "\n</form>\n</div>\n"; } else { $panelStr .= "\n</div>\n"; } return $panelStr; }