Maison >développement back-end >tutoriel php >Ce que vous devez savoir sur la pagination PHP+MySQL
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 | | +--------------------------+---------------------+------+-----+-------------------+-----------------------------+
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)
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>";
Page actuelle
// 通过GET方式获得客户端访问的页码 $current_page_number = isset($_GET['page_number'])?$_GET['page_number']: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;
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);
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='#CCF solid 1px'><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 '<a href="SlicePage.php?page_number=1">首页</a> '; for($i=1;$i<=$total_pages;$i++){ echo '<a href="./SlicePage.php?page_number='.$i.'">第'.$i.'页</a> '; } echo '<a href="SlicePage.php?page_number='.($current_page_number-1).'">上一页</a> '; echo '<a href="SlicePage.php?page_number='.($current_page_number+1).'">下一页</a> '; echo '<a href="SlicePage.php?page_number='.($total_pages).'">尾页</a> ';
Implémentation de la pagination
Après avoir compris le contenu ci-dessus, examinons ce contenu complet exemple.
Code SlicePage.php
La page initiale résultante est :
Cliquez sur le numéro de page
Page suivante
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!