Ce que vous devez savoir sur la pagination PHP+MySQL

不言
Libérer: 2023-03-29 18:00:02
original
1676 Les gens l'ont consulté

Ce que vous devez savoir sur la pagination PHP+MySQL. Cet article présente principalement la technologie de pagination PHP+MySQL en détail et vous fournit un exemple complet de pagination PHP. Les amis intéressés peuvent s'y référer

Comme le dit le proverbe. , "Si vous voulez bien faire votre travail, vous devez d'abord affiner vos outils." Aujourd'hui, nous allons utiliser PHP pour implémenter la pagination. Ensuite, notre première tâche consiste à créer un environnement de travail PHP.

Préparation de l'environnement

Lors de l'utilisation de la technologie PHP, le meilleur partenaire est AMP (Apache, MySQL, PHP). Il existe désormais de nombreux environnements intégrés, tels que WAMP, XAMPP. , phpnow et ainsi de suite. Mais aujourd'hui, je vais créer manuellement un environnement de travail PHP.

Apache

Nous devons d'abord télécharger le serveur Apache depuis le site officiel d'Apache. Il est préférable de télécharger la version msi, car nous pouvons alors configurer différents environnements sans avoir à le configurer manuellement.

Adresse de téléchargement Apache : une version msi d'ApacheServer, le premier choix pour construire rapidement un environnement serveur PHP.

MySQL

MySQL, un projet open source bien connu dans le secteur des bases de données, a maintenant été acquis par Oracle. savoir s'il y aura des frais à l'avenir. Mais pour l’instant, le meilleur choix pour le développement PHP est MySQL. Inutile de dire que voici l'adresse de téléchargement.

Adresse de téléchargement MySQL

Pendant le processus d'installation, n'oubliez pas de vous souvenir du nom d'utilisateur et du mot de passe.

PHP

Certaines personnes disent que PHP n'est pas un langage, mais un framework, une implémentation client qui se connecte à MySQL. J'y ai réfléchi attentivement et cela m'a semblé logique. Mais si vous le dites ainsi, il existe de nombreuses langues qui ne sont pas du tout des langues. En tant que héros civil, les progrès de PHP sont bien connus. Vous trouverez ci-joint l’adresse de téléchargement de php ci-dessous, vous n’avez donc pas à la rechercher séparément.

Adresse de téléchargement PHP : version msi de PHP, vous pouvez rapidement créer PHP sans configurer manuellement l'environnement

Environnement de travail

Nous l'avons installé après les trois logiciels ci-dessus, vous pouvez officiellement commencer à configurer l'environnement. Pour l'instant, tout ce que nous devons savoir, c'est que notre répertoire de travail se trouve dans le dossier htdocs d'Apache, en tant que répertoire virtuel, est maintenu par le fichier de configuration d'Apache, avec lequel nous entrerons progressivement en contact dans le futur.

N'oubliez pas qu'il s'agit du dossier htdocs dans le répertoire d'installation d'Apache.

Préparation de la base de données

Bien que l'environnement ait été mis en place, la pagination doit être effectuée. Tout d’abord, il doit y avoir des données. "C'est difficile pour une femme intelligente de préparer un repas sans riz." Ensuite, préparons les données.

Créer une base de données

Instruction Créer une base de données créer une base de données my_database_name
Ici, nous utilisons MySQL fourni avec le installation La base de données mysql est prête. C'est aussi un peu plus facile.

Construire une table

L'entrepôt de données est toujours en construction, nous devons maintenant "séparer les pièces", c'est là que les données sont stockées, en surface.

create table table_name (···);
De même, nous utilisons ici la table de base de données intégrée pour la paresse. Les détails sont les suivants :

mysql> use mysql
Database changed
mysql> desc innodb_table_stats;
+--------------------------+---------------------+------+-----+-------------------+-----------------------------+
| Field   | Type  | Null | Key | Default  | Extra   |
+--------------------------+---------------------+------+-----+-------------------+-----------------------------+
| database_name  | varchar(64)  | NO | PRI | NULL  |    |
| table_name  | varchar(64)  | NO | PRI | NULL  |    |
| last_update  | timestamp  | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| n_rows   | bigint(20) unsigned | NO | | NULL  |    |
| clustered_index_size | bigint(20) unsigned | NO | | NULL  |    |
| sum_of_other_index_sizes | bigint(20) unsigned | NO | | NULL  |    |
+--------------------------+---------------------+------+-----+-------------------+-----------------------------+
Copier après la connexion

Données pré-stockées

Pour faciliter la démonstration, nous besoin de pré-stocker certaines données. Peu importe que vous utilisiez l'importation par lots ou que vous ajoutiez manuellement. Le noyau est toujours

insérer dans table_name(···) valeurs(···);

Par exemple, les données que nous stockons sont les suivantes :

mysql> select * from innodb_table_stats;
+-----------------+----------------+---------------------+--------+----------------------+--------------------------+
| database_name | table_name | last_update  | n_rows | clustered_index_size | sum_of_other_index_sizes |
+-----------------+----------------+---------------------+--------+----------------------+--------------------------+
| fams  | admin  | 2016-07-19 14:47:02 | 3 |   1 |   0 |
| fams  | assets_in | 2016-07-14 14:42:44 | 2 |   1 |   3 |
| fams  | assets_out | 2016-07-14 20:14:31 | 4 |   1 |   3 |
| fams  | class  | 2016-07-14 14:36:02 | 3 |   1 |   0 |
| fams  | dog  | 2016-08-11 15:25:50 | 4 |   1 |   0 |
| fams  | fixed_assets | 2016-07-14 15:55:09 | 6 |   1 |   2 |
| fams  | sub_class | 2016-07-14 14:38:51 | 8 |   1 |   1 |
| fams  | user  | 2016-07-14 14:15:59 | 2 |   1 |   0 |
| mysql  | gtid_executed | 2016-07-14 12:50:25 | 0 |   1 |   0 |
| privilegesystem | privilege | 2016-08-08 08:56:21 | 3 |   1 |   0 |
| privilegesystem | role  | 2016-08-08 08:26:56 | 2 |   1 |   0 |
| privilegesystem | role_privilege | 2016-08-08 09:51:04 | 2 |   1 |   1 |
| privilegesystem | user  | 2016-08-08 11:07:35 | 2 |   1 |   0 |
| privilegesystem | user_role | 2016-08-08 11:08:15 | 2 |   1 |   2 |
| sys  | sys_config | 2016-07-14 12:50:30 | 6 |   1 |   0 |
| test  | datetest | 2016-07-19 10:02:38 | 2 |   1 |   0 |
+-----------------+----------------+---------------------+--------+----------------------+--------------------------+
16 rows in set (0.00 sec)
Copier après la connexion

Préparation de l'extension PHP

S'il s'agit d'une installation d'une version non MSI, nous devons activer manuellement l'expansion PHP De cette façon, vous pouvez utiliser certaines fonctions de MySQL pour faire fonctionner la base de données.

php.ini

Ce fichier se trouve dans le répertoire d'installation de php. Nous devons supprimer le point-virgule devant le code ci-dessous.

[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll

Dans le fichier PHP ini, Le le commentaire est :

Principe de la pagination

"Tout est prêt, tout ce dont nous avons besoin c'est du vent d'est". Parlons maintenant de l'idée centrale de la pagination.

Il s'agit de la page actuelle, de la taille de la page et du nombre total d'enregistrements. Grâce à ces trois éléments, nous pouvons calculer le nombre total de pages en fonction du nombre total d'enregistrements et de la taille des pages. Implémentez ensuite l’affichage correspondant en fonction de la page actuelle.

Nombre total d'enregistrements

// 获取总的记录数
$sql_total_records = "select count(*) from innodb_table_stats";
$total_records_result = mysql_query($sql_total_records);
$total_records = mysql_fetch_row($total_records_result);
echo "总的记录数位: ".$total_records[0]."<br>";
Copier après la connexion

Page actuelle

// 通过GET方式获得客户端访问的页码
$current_page_number = isset($_GET[&#39;page_number&#39;])?$_GET[&#39;page_number&#39;]:1;
if($current_page_number<1) {
 $current_page_number =1;
}
if($current_page_number>$total_pages){
 $current_page_number = $total_pages;
}
echo "要访问的页码为:".$current_page_number;
Copier après la connexion

Paging Core

// 获取到了要访问的页面以及页面大小,下面开始分页
$begin_position = ($current_page_number-1)*$page_size;
$sql = "select * from innodb_table_stats limit $begin_position,$page_size";
$result = mysql_query($sql);
Copier après la connexion

De cette façon, nous pouvons obtenir l'ensemble de résultats que nous souhaitons. La prochaine chose est de savoir comment l'afficher sur la page.

Affichage de la page

// 处理结果集
echo "<table border=&#39;#CCF solid 1px&#39;><th>Mysql Fixed Assets Table</th>";
echo "<tr><td>DbName</td><td>TableName</td><td>Last_update</td><td>n_Nows</td><td>Clustered_Index_Size</td><td>Sum_od_Other_Index_sizes</td></tr>";
while(($row = mysql_fetch_row($result))){
 echo "<tr>";
 echo "<td>".$row[0]."</td>";
 echo "<td>".$row[1]."</td>";
 echo "<td>".$row[2]."</td>";
 echo "<td>".$row[3]."</td>";
 echo "<td>".$row[4]."</td>";
 echo "<td>".$row[5]."</td>";
 echo "</tr>";
}
echo "</table>";

// 循环显示总页数
?>
<?php
echo &#39;<a href="SlicePage.php?page_number=1">首页</a>  &#39;;
for($i=1;$i<=$total_pages;$i++){
 echo &#39;<a href="./SlicePage.php?page_number=&#39;.$i.&#39;">第&#39;.$i.&#39;页</a>  &#39;; 
}
echo &#39;<a href="SlicePage.php?page_number=&#39;.($current_page_number-1).&#39;">上一页</a>  &#39;;
echo &#39;<a href="SlicePage.php?page_number=&#39;.($current_page_number+1).&#39;">下一页</a>  &#39;;
echo &#39;<a href="SlicePage.php?page_number=&#39;.($total_pages).&#39;">尾页</a>  &#39;;
Copier après la connexion

Implémentation de la pagination

Après avoir compris le contenu ci-dessus, examinons ce contenu complet exemple.

Code SlicePage.php


Copier après la connexion

La page initiale résultante est :

Ce que vous devez savoir sur la pagination PHP+MySQL

Cliquez sur le numéro de page

Ce que vous devez savoir sur la pagination PHP+MySQL

Page suivante

Ce que vous devez savoir sur la pagination PHP+MySQL

Résumé

La pagination est un outil très pratique Technologie, comparé à l'implémentation Java, PHP reste très flexible à implémenter. Cela libère les gens de la lourde programmation orientée objet et peut effectivement donner aux gens un sentiment de beauté lorsque leurs idées sont claires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!