通用分页类
通用分页类(以Codeigniter测试) CodeIgniter ?php if( ! defined('BASEPATH')) die('No Access');/** * 分页类 * * @author wangaibowangaibo@boqii.net * @version 1.0.0 * @link http://www.du52.com/text.php?id=551 */class Page_list { /** * 总数据 *
通用分页类(以Codeigniter测试) CodeIgniter
<?php if( ! defined('BASEPATH')) die('No Access'); /** * 分页类 * * @author wangaibo<wangaibo@boqii.net> * @version 1.0.0 * @link http://www.du52.com/text.php?id=551 */ class Page_list { /** * 总数据 * @var int */ private $total; /** * 每页显示数据 * @var int */ private $size; /** * 当前页数 * @var int */ private $page; /** * 页数列表左右页数 * @var int */ private $len; /** * 总页数 * @var int */ private $page_total; /** * 页码列表 * @var array */ private $page_list; /** * 基准地址 * @var string */ private $base_url; /** * 替换标志 * @var string */ private $place; /** * 分页样式 * @var string */ private $style; /** * 构造函数 * * @param array $config 配置数组 */ public function __construct($config = array()){ // 初始化默认值 $this->total = 0; $this->size = 20; $this->page = 1; $this->len = 4; $this->page_total = 1; $this->page_list = array(); $this->base_url = '?page=-page-'; $this->place = '-page-'; $this->style = $this->get_default_style(); $this->initialize($config); } /** * 初始化分页 * * @param array $config 配置数组 */ public function initialize($config = array()){ // 取得配置值 if(is_array($config)){ if(array_key_exists('total', $config)) $this->total = @intval($config['total']); if(array_key_exists('size', $config)) $this->size = @intval($config['size']); if(array_key_exists('page', $config)) $this->page = @intval($config['page']); if(array_key_exists('len', $config)) $this->len = @intval($config['len']); if(array_key_exists('base_url', $config)) $this->base_url = @strval($config['base_url']); if(array_key_exists('place', $config)) $this->place = @strval($config['place']); if(array_key_exists('style', $config)) $this->style = @strval($config['style']); } // 修正值 if($this->total<0) $this->total = 0; if($this->size<=0) $this->size = 20; if($this->page<=0) $this->page = 1; if($this->len<=0) $this->len = 4; // 执行分页算法 $this->page_total = ceil($this->total/$this->size); if($this->page_total<=0) $this->page_total = 1; if($this->page>$this->page_total) $this->page = $this->page_total; if($this->page-$this->len>=1){ for($i=$this->len; $i>0; $i--){ $this->page_list[] = $this->page - $i; } }else{ for($i=1; $i<$this->page; $i++){ $this->page_list[] = $i; } } $this->page_list[] = $this->page; if($this->page+$this->len<=$this->page_total){ for($i=1; $i<=$this->len; $i++){ $this->page_list[] = $this->page + $i; } }else{ for($i=$this->page+1; $i<=$this->page_total; $i++){ $this->page_list[] = $i; } } } /** * 默认分页样式 * * @return string */ public function get_default_style(){ $style = '<style type="text/css">'; $style .= ' div.page_list { margin:0;padding:0;overflow:hidden;zoom:1;}'; $style .= ' div.page_list a {display:block;float:left;height:20px;line-height:21px; font-size:13px;font-weight:normal;font-style:normal;color:#133DB6;text-decoration:none;margin:0 3px;padding:0 7px;overflow;zoom:1;}'; $style .= ' div.page_list a.page_list_act { font-size:13px;padding:0 6px;}'; $style .= ' div.page_list a:link, div.page_list a:visited { background:#FFF;border:1px #EEE solid;text-decoration:none;}'; $style .= ' div.page_list a:hover, div.page_list a:active { background:#EEE;text-decoration:none;}'; $style .= ' div.page_list strong { display:block;float:left;height:20px;line-height:21px;font-size:13px;font-weight:bold;font-style:normal;color:#000;margin:0 3px;padding:0 8px;overflow:hidden;zoom:1;}'; $style .= ' </style>'; return $style; } /** * 是否是第一页 * * @return bool */ public function is_first_page(){ return $this->page == 1; } /** * 获取第一页页码 * * @return int */ public function get_first_page(){ return 1; } /** * 是否是最后一页 * * @return bool */ public function is_last_page(){ return $this->page == $this->page_total; } /** * 获取最后一页页码 * * @return int */ public function get_last_page(){ return $this->page_total; } /** * 是否存在上一页 * * @return bool */ public function has_prev_page(){ return $this->page > 1; } /** * 是否存在下一页 * * @return bool */ public function has_next_page(){ return $this->page < $this->page_total; } /** * 获取上一页页码 * * @return int */ public function get_prev_page(){ return $this->has_prev_page() ? $this->page - 1 : $this->page; } /** * 获取下一页页码 * * @return int */ public function get_next_page(){ return $this->has_next_page() ? $this->page + 1 : $this->page; } /** * 获取当前页页码 * * @return int */ public function get_curr_page(){ return $this->page; } /** * 获取总数据数 * * @return int */ public function get_total(){ return $this->total; } /** * 获取每页显示数据数 * * @return int */ public function get_size(){ return $this->size; } /** * 获取总页数 * * @return int */ public function get_total_page(){ return $this->page_total; } /** * 构建并返回分页代码 * * @param string $base_url 基准地址 * @param string $place 替换标志 * @param string $style 分页样式 * @return string 分页HTML代码 */ public function display($base_url = '', $place = '', $style = ''){ if($base_url==='') $base_url = $this->base_url; if($place==='') $place = $this->place; if($style==='') $style = $this->style; $str = $style.'<div class="page_list">'; if( ! $this->is_first_page()){ $str .= '<a class="page_list_act" href="'.str_replace($place, $this->get_first_page(), $base_url).'">首页</a>'; } if($this->has_prev_page()){ $str .= '<a class="page_list_act" href="'.str_replace($place, $this->get_prev_page(), $base_url).'">上一页</a>'; } foreach($this->page_list as $v){ if($v==$this->page){ $str .= '<strong>' . $v . '</strong>'; }else{ $str .= '<a href="'.str_replace($place, $v, $base_url).'">'.$v.'</a>'; } } if($this->has_next_page()){ $str .= '<a class="page_list_act" href="'.str_replace($place, $this->get_next_page(), $base_url).'">下一页</a>'; } if( ! $this->is_last_page()){ $str .= '<a class="page_list_act" href="'.str_replace($place, $this->get_last_page(), $base_url).'">尾页</a>'; } $str .= '</div>'; return $str; } } ?>
<?php if( ! defined('BASEPATH')) die('No Access'); class Pagelist extends CI_Controller { public function page(){ $this->load->helper('url'); $page = $this->input->get('page'); $page = @intval($page); if($page<=0) $page = 1; $this->load->library('page_list',array('total'=>10000,'size'=>16,'page'=>$page)); $pl = $this->page_list->display(site_url('pagelist/page/page/-page-')); $this->load->view('pagelist', array('pl' => $pl)); } } ?>
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>分页测试</title> </head> <body> <?php echo $pl; ?> </body> </html>


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

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

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

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Que pensez-vous de furmark ? 1. Définissez le « Mode d'exécution » et le « Mode d'affichage » dans l'interface principale, ajustez également le « Mode de test » et cliquez sur le bouton « Démarrer ». 2. Après avoir attendu un moment, vous verrez les résultats du test, y compris divers paramètres de la carte graphique. Comment Furmark est-il qualifié ? 1. Utilisez une machine à pâtisserie Furmark et vérifiez les résultats pendant environ une demi-heure. Elle oscille essentiellement autour de 85 degrés, avec une valeur maximale de 87 degrés et une température ambiante de 19 degrés. Grand châssis, 5 ports de ventilateur de châssis, deux à l'avant, deux en haut et un à l'arrière, mais un seul ventilateur est installé. Tous les accessoires ne sont pas overclockés. 2. Dans des circonstances normales, la température normale de la carte graphique doit être comprise entre « 30 et 85 ℃ ». 3. Même en été, lorsque la température ambiante est trop élevée, la température normale est de « 50 à 85 ℃.

Développement PHP : comment implémenter des fonctions de tri et de pagination des données de table Dans le développement Web, le traitement de grandes quantités de données est une tâche courante. Pour les tableaux devant afficher une grande quantité de données, il est généralement nécessaire de mettre en œuvre des fonctions de tri et de pagination des données pour offrir une bonne expérience utilisateur et optimiser les performances du système. Cet article explique comment utiliser PHP pour implémenter les fonctions de tri et de pagination des données de table et donne des exemples de code spécifiques. La fonction de tri implémente la fonction de tri dans le tableau, permettant aux utilisateurs de trier par ordre croissant ou décroissant selon différents champs. Ce qui suit est un formulaire de mise en œuvre

Le « Test d'inaction » du nouveau MMORPG féerique fantastique « Zhu Xian 2 » sera lancé le 23 avril. Quel genre de nouvelle histoire d'aventure féerique se produira sur le continent Zhu Xian des milliers d'années après l'œuvre originale ? Le monde immortel des six royaumes, une académie à plein temps pour cultiver des immortels, une vie libre pour cultiver des immortels et toutes sortes de divertissements dans le monde immortel attendent que les amis immortels l'explorent en personne ! Le pré-téléchargement "Wuwei Test" est maintenant ouvert. Les amis fées peuvent accéder au site officiel pour télécharger. Vous ne pouvez pas vous connecter au serveur de jeu avant le lancement du serveur. Le code d'activation peut être utilisé après le pré-téléchargement et l'installation. est terminé. "Zhu Xian 2" "Inaction Test" horaires d'ouverture : 23 avril 10h00 - 6 mai 23h59 Le nouveau chapitre d'aventure de conte de fées de la suite orthodoxe de Zhu Xian "Zhu Xian 2" est basé sur le roman "Zhu Xian" comme un modèle basé sur la vision du monde de l'œuvre originale, l'arrière-plan du jeu est défini.

Comment utiliser JavaScript pour implémenter la fonction de pagination de table ? Avec le développement d’Internet, de plus en plus de sites Web utilisent des tableaux pour afficher les données. Dans certains cas où la quantité de données est importante, les données doivent être affichées dans des pages pour améliorer l'expérience utilisateur. Cet article explique comment utiliser JavaScript pour implémenter la fonction de pagination de table et fournit des exemples de code spécifiques. 1. Structure HTML Tout d'abord, nous devons préparer une structure HTML pour héberger les tableaux et les boutons de pagination. Nous pouvons utiliser <tab

Les tests fonctionnels vérifient la fonctionnalité des fonctions via des tests en boîte noire et en boîte blanche, tandis que la couverture du code mesure la partie du code couverte par les scénarios de test. Différents langages (tels que Python et Java) ont des cadres de test, des outils de couverture et des fonctionnalités différents. Des cas pratiques montrent comment utiliser Unittest et Coverage de Python et JUnit et JaCoCo de Java pour les tests de fonctions et l'évaluation de la couverture.

"Opération Delta" lancera aujourd'hui (7 mars) un test PC à grande échelle appelé "Codename: ZERO". Le week-end dernier, ce jeu a organisé un événement d'expérience flash mob hors ligne à Shanghai, et 17173 a également eu la chance d'être invité à participer. Ce test remonte à un peu plus de quatre mois depuis le dernier, ce qui nous rend curieux, quels nouveaux points forts et surprises l'Opération Delta apportera-t-elle en si peu de temps ? Il y a plus de quatre mois, j'ai expérimenté « l'Opération Delta » lors d'une séance de dégustation hors ligne et la première version bêta. A cette époque, le jeu n'ouvrait que le mode "Action Dangereuse". Pourtant, l’opération Delta était déjà impressionnante pour l’époque. Dans un contexte où les grands constructeurs se ruent sur le marché du jeu mobile, un tel FPS comparable aux standards internationaux

Pratique des composants Vue : Introduction au développement de composants de pagination Dans les applications Web, la fonction de pagination est un composant essentiel. Un bon composant de pagination doit être simple et clair dans sa présentation, riche en fonctions et facile à intégrer et à utiliser. Dans cet article, nous présenterons comment utiliser le framework Vue.js pour développer un composant de pagination hautement personnalisable. Nous expliquerons en détail comment développer à l'aide des composants Vue à travers des exemples de code. Pile technologique Vue.js2.xJavaScript (ES6) Environnement de développement HTML5 et CSS3

MyBatis est un excellent framework de couche de persistance. Il prend en charge les opérations de base de données basées sur XML et les annotations. Il est simple et facile à utiliser. Il fournit également un mécanisme de plug-in riche. Parmi eux, le plug-in de pagination est l'un des plug-ins les plus fréquemment utilisés. Cet article approfondira les principes du plug-in de pagination MyBatis et l'illustrera avec des exemples de code spécifiques. 1. Principe du plug-in de pagination MyBatis lui-même ne fournit pas de fonction de pagination native, mais vous pouvez utiliser des plug-ins pour implémenter des requêtes de pagination. Le principe du plug-in de pagination est principalement d'intercepter MyBatis
