Maison php教程 php手册 php分页可利用表格来分页类

php分页可利用表格来分页类

Jun 13, 2016 am 10:03 AM
php query s 分页 变量 exister 对象 nombre 数据 新建 de 获取 dans la table 表格 记录

* 在新建对象时需要的变量:$query(从数据表中获取记录数的sql语句),$page(当前页码),$maxline(每页几行)) * 1、showpage方法:如果上面创建对象的$query正确,直接调用,即可输出分页信息 * 2、showtable方法:需要的变量:$query(从数据库读取记录的SQL语句,不要加Limit,因为在方法中已经添加)

的表格,所以只需在前后加上
 代码如下 复制代码

/*
 * 直接输出数据表和分页信息
 * 在新建对象时需要的变量:$query(从数据表中获取记录数的sql语句),$page(当前页码),$maxline(每页几行))
 * 1、showpage方法:如果上面创建对象的$query正确,直接调用,即可输出分页信息
 * 2、showtable方法:需要的变量:$query(从数据库读取记录的SQL语句,不要加Limit,因为在方法中已经添加)
 *   直接输出

就是完整的表格
 * 3、showresult方法:根据提交的$query中的SQL,直接将$result资源返回,表格可以自己定义
 * 示例:
//获取当前页,并定义每页最大行
$page=1;
$maxline="10";
if(!empty($_GET["page"])){
 $page=$_GET["page"];
}
//定义计算表内数据总数的SQL语句,这里必须和下面的$query是同一个表和条件,创建对象,输出页码和表格
$query="select count(*) from mailbox";
$a=new PageList($query, $maxline, $page);
$a->showpage();
//这里显示列表,需要和上面的SQL语句一样的条件
$query="select username,name,quota,created,modified,active from mailbox order by created desc";
echo "";
$a->showtable($query);
echo "
";
 * */

class PageList{
 private $link;
 private $result;
 private $maxline;
 private $page=1; 
 private $startline=0;
 private $countline;
 public  $countpage;
 private $prevpage;
 private $nextpage;
 //数据库联接,需要修改为您自己的地址
 private $dbhost=DBHOST;
 private $dbuser=DBUSER;
 private $dbpasswd=DBPASSWD;
 private $dbtable=DBTABLE;

/*
 * 构造函数中建立数据库联接
 * 1、数据库连接的4个参数设置为常量 记录在config.php页面中
 * 2、连接数据库,并选择数据库
 * 3、设置数据库执行的编码方式为utf8
 * 4、将接收到的$maxline,$page两个变量赋值给类属性,成为该类通用属性
 *   (其中$query是count(*)的SQL,和下面方法中的query是不一样的)
 * 5、根据新建对象时递交的$query语句,对数据库执行查询,将得到的总记录数赋值到类属性中$this->countline
 *   将总记录数/每页行数,再用ceil函数高位取整,得到总页数并赋值到类属性中$this->countpage
 * 6、根据递交的当前页码$page,算出前后页的数字$this->prevpage和$this->nextpage
 *  还有必须算出数据库读取的起始行$this->startline
 *  这里分3种情况,page1(这个情况可以不判断,直接用else)  
 * */
 public function __construct($query,$maxline,$page){
  @$this->link=mysql_connect($dbhost,$dbuser,$dbpasswd) or die($this->feedback='System Error ,Please contect admin');
  @mysql_select_db($dbtable,$this->link) or die($this->feedback='System Error ,Please contect admin');
  @mysql_query('set names utf8');
  $this->maxline=$maxline;
  
  //读取行数,并将结果返回$coutline
  $this->result=mysql_query($query) or die($this->feedback='System Error ,Please contect admin');
  if($count=mysql_fetch_row($this->result)){
   //intval将字符串转为int,可以不转,但这样的程序更健康
   $this->countline = intval($count[0]);
   $this->countpage = ceil($this->countline/$maxline);
  }
  //判断递交的$page是否大于总页数
  if($pagecountpage){
   $this->page=$page;
  }
  
  if($this->page    $this->prevpage=0;
   $this->nextpage=2;
   $this->startline= 0;
  }elseif($this->page==$this->countpage){
   $this->prevpage=$this->page-1;
   $this->nextpage=0;
   $this->startline= ($this->page-1)*$this->maxline;
  }else{
   $this->prevpage=$this->page-1;
   $this->nextpage=$this->page+1;
   $this->startline= ($this->page-1)*$this->maxline;
  }
 }

/*
 * 析构函数
 * 释放资源,关闭数据库连接
 * */
 public function __destruct(){
  mysql_free_result($this->result);
  mysql_close($this->link);
  exit();
 }
 
/*
 * 输出分页信息
 * */
 public function showpage(){
  //$listnum显示上下页中间的数字位数,一定要偶数阿!否则不能被2除
  $listnum=10;
  echo $this->countline." Items, ".$this->countpage." Pages  ";

  if($this->prevpage==0){
   echo "< }else{
echo "prevpage.">< ";
}

if($this->countpage<$listnum){ //判断总页数是否小于$listnum
$page_start=1;
$page_end=$this->countpage;
}elseif($this->page<$listnum/2){ //判断当前页是否小于$listnum的一半
$page_start=1;
$page_end=$listnum;
}elseif($this->page>$this->countpage-($listnum/2)){ //判断当前页是否是最后几页了
$page_start=$this->countpage-($listnum-1);
$page_end=$this->countpage;
}else{ //如果上面的条件都不符合,那当前也正在中间
$page_start=$this->page-($listnum/2-1);
$page_end=$this->page+($listnum/2);
}

for($i=$page_start;$i<=$page_end;$i++){ //根据上面判断的start和end页码,循环输出之间的页码
if($i==$this->page){
echo "".$i." ";
}else{
echo "
".$i." ";
}
}

if ($this->nextpage==0){
echo " Next>>";
  }else{
   echo " nextpage.">Next>> ";
  }
  
 }

/*
 * 根据sql语句读取数据库中的数据,然后列成表单输出
 * 需要的变量:$field(字段),$table(表名),$startline(开始行),$maxline(每页显示行数)
 * 输出从表格的tr开始,从tr结束,所以在使用这个方法前后要加table的标签
 * */ 
 public function showtable($query){
  $query=$query." LIMIT ".$this->startline.",".$this->maxline;
  $result = mysql_query($query) or die($this->feedback='System Error ,Please contect admin');
  //行循环开始,定义一个$i变量,用来显示行号,每次执行一条while语句,指针就指向下一条数据
  $i=0;
  while ($fetch = mysql_fetch_assoc($result)){
   $i++;
   echo "

".$i."";
   //列循环开始,因为通过while后,$fetch已经是个数组,所以通过foreach遍历数组即可
   foreach ($fetch as $value){
    echo "".$value."";
   }
   echo "";
  }
 }

/*
 * 这个方法是将资源传出,表格在外面自定义样式
 * */
 public function showresult($query){
  $result = mysql_query($query) or die($this->feedback='System Error ,Please contect admin');
  return $result;
 }
}
?>

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Top 10 du classement mondial de la plate-forme de trading de devises virtuels numériques (2025 classement faisant autorité) Top 10 du classement mondial de la plate-forme de trading de devises virtuels numériques (2025 classement faisant autorité) Mar 06, 2025 pm 04:36 PM

En 2025, les plateformes mondiales de trading de devises virtuelles numériques sont farouchement compétitives. OKX se classe d'abord avec sa forte force technique et sa stratégie de fonctionnement mondiale, et Binance suit de près avec une liquidité élevée et des frais faibles. Des plates-formes telles que Gate.io, Coinbase et Kraken sont à l'avant-garde avec leurs avantages respectifs. La liste couvre les plateformes de trading telles que Huobi, Kucoin, BitFinex, Crypto.com et Gemini, chacune avec ses propres caractéristiques, mais l'investissement devrait être prudent. Pour choisir une plate-forme, vous devez prendre en compte des facteurs tels que la sécurité, la liquidité, les frais, l'expérience utilisateur, la sélection des devises et la conformité réglementaire, et investir rationnellement

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

See all articles