添加了几个自定义的 从mysql result 集合中 抽取指定片段的方法 , 没有调用释放的原因 这个涉及到 程序的 原来校验
也多亏网上大神的帮助啊 。。。。 老系统害死人啊, 后台都不能动
复制代码 代码如下:
/* 分页类
* @author xiaojiong & 290747680@qq.com
* @date 2011-08-17
*
* show(2) 1 ... 62 63 64 65 66 67 68 ... 150
* 分页样式
* #page{font:12px/16px arial}
* #page span{float:left;margin:0px 3px;}
* #page a{float:left;margin:0 3px;border:1px solid #ddd;padding:3px 7px; text-decoration:none;color:#666}
* #page a.now_page,#page a:hover{color:#fff;background:#05c}
*/
class Core_Lib_Page
{
public $first_row; //起始行数
public $list_rows; //列表每页显示行数
protected $total_pages; //总页数
protected $total_rows; //总行数
protected $now_page; //当前页数
protected $method = 'defalut'; //处理情况 Ajax分页 Html分页(静态化时) 普通get方式
protected $parameter = '';
protected $page_name; //分页参数的名称
protected $ajax_func_name;
public $plus = 3; //分页偏移量
protected $url;
public function get_page_result()
{
$lastResult = array();
$skipCount = $this->get_skip_row_count();
if(mysql_num_rows($result)>0)
{
mysql_data_seek($result,$skipCount);
}
$pageSize = $this->$list_rows;
while($row = mysql_fetch_array($result))
{
$pageSize --;
$lastResult[] = $row;
if($pageSize == 0)
{
break ;
}
}
return $lastResult;
}
public function get_skip_row_count()
{
return $this->list_rows*($this->now_page-1);
}
/**
* 构造函数
* @param unknown_type $data
*/
public function __construct($data = array())
{
$this->total_rows = $data['total_rows'];
$this->parameter = !empty($data['parameter']) ? $data['parameter'] : '';
$this->list_rows = !empty($data['list_rows']) && $data['list_rows'] $this->total_pages = ceil($this->total_rows / $this->list_rows);
$this->page_name = !empty($data['page_name']) ? $data['page_name'] : 'p';
$this->ajax_func_name = !empty($data['ajax_func_name']) ? $data['ajax_func_name'] : '';
$this->method = !empty($data['method']) ? $data['method'] : '';
/* 当前页面 */
if(!empty($data['now_page']))
{
$this->now_page = intval($data['now_page']);
}else{
$this->now_page = !empty($_GET[$this->page_name]) ? intval($_GET[$this->page_name]):1;
}
$this->now_page = $this->now_page now_page;
if(!empty($this->total_pages) && $this->now_page > $this->total_pages)
{
$this->now_page = $this->total_pages;
}
$this->first_row = $this->list_rows * ($this->now_page - 1);
}
/**
* 得到当前连接
* @param $page
* @param $text
* @return string
*/
protected function _get_link($page,$text)
{
switch ($this->method) {
case 'ajax':
$parameter = '';
if($this->parameter)
{
$parameter = ','.$this->parameter;
}
return '' . $text . '' . "\n";
break;
case 'html':
$url = str_replace('?', $page,$this->parameter);
return '' . $text . '' . "\n";
break;
default:
return '' . $text . '' . "\n";
break;
}
}
/**
* 设置当前页面链接
*/
protected function _set_url()
{
$url = $_SERVER['REQUEST_URI'].(strpos($_SERVER['REQUEST_URI'],'?')?'':"?").$this->parameter;
$parse = parse_url($url);
if(isset($parse['query'])) {
parse_str($parse['query'],$params);
unset($params[$this->page_name]);
$url = $parse['path'].'?'.http_build_query($params);
}
if(!empty($params))
{
$url .= '&';
}
$this->url = $url;
}
/**
* 得到$page的url
* @param $page 页面
* @return string
*/
protected function _get_url($page)
{
if($this->url === NULL)
{
$this->_set_url();
}
// $lable = strpos('&', $this->url) === FALSE ? '' : '&';
return $this->url . $this->page_name . '=' . $page;
}
/**
* 得到第一页
* @return string
*/
public function first_page($name = '第一页')
{
if($this->now_page > 5)
{
return $this->_get_link('1', $name);
}
return '';
}
/**
* 最后一页
* @param $name
* @return string
*/
public function last_page($name = '最后一页')
{
if($this->now_page total_pages - 5)
{
return $this->_get_link($this->total_pages, $name);
}
return '';
}
/**
* 上一页
* @return string
*/
public function up_page($name = '上一页')
{
if($this->now_page != 1)
{
return $this->_get_link($this->now_page - 1, $name);
}
return '';
}
/**
* 下一页
* @return string
*/
public function down_page($name = '下一页')
{
if($this->now_page total_pages)
{
return $this->_get_link($this->now_page + 1, $name);
}
return '';
}
/**
* 分页样式输出
* @param $param
* @return string
*/
public function show($param = 1)
{
if($this->total_rows {
return '';
}
$className = 'show_' . $param;
$classNames = get_class_methods($this);
if(in_array($className, $classNames))
{
return $this->$className();
}
return '';
}
protected function show_2()
{
if($this->total_pages != 1)
{
$return = '';
$return .= $this->up_page('for($i = 1;$itotal_pages;$i++)
{
if($i == $this->now_page)
{
$return .= "$i\n";
}
else
{
if($this->now_page-$i>=4 && $i != 1)
{
$return .="...\n";
$i = $this->now_page-3;
}
else
{
if($i >= $this->now_page+5 && $i != $this->total_pages)
{
$return .="...\n";
$i = $this->total_pages;
}
$return .= $this->_get_link($i, $i) . "\n";
}
}
}
$return .= $this->down_page('>');
return $return;
}
}
protected function show_1()
{
$plus = $this->plus;
if( $plus + $this->now_page > $this->total_pages)
{
$begin = $this->total_pages - $plus * 2;
}else{
$begin = $this->now_page - $plus;
}
$begin = ($begin >= 1) ? $begin : 1;
$return = '';
$return .= $this->first_page();
$return .= $this->up_page();
for ($i = $begin; $i {
if($i>$this->total_pages)
{
break;
}
if($i == $this->now_page)
{
$return .= "$i\n";
}
else
{
$return .= $this->_get_link($i, $i) . "\n";
}
}
$return .= $this->down_page();
$return .= $this->last_page();
return $return;
}
protected function show_3()
{
$plus = $this->plus;
if( $plus + $this->now_page > $this->total_pages)
{
$begin = $this->total_pages - $plus * 2;
}else{
$begin = $this->now_page - $plus;
}
$begin = ($begin >= 1) ? $begin : 1;
$return = '总计 ' .$this->total_rows. ' 个记录分为 ' .$this->total_pages. ' 页, 当前第 ' . $this->now_page . ' 页 ';
$return .= ',每页 ';
$return .= ' ';
$return .= $this->first_page()."\n";
$return .= $this->up_page()."\n";
$return .= $this->down_page()."\n";
$return .= $this->last_page()."\n";
$return .= '';
return $return;
}
}
?>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel
