Maison développement back-end tutoriel php php mysql数据库操作分页类_PHP教程

php mysql数据库操作分页类_PHP教程

Jul 21, 2016 pm 03:52 PM
mysql php 代码 分页 复制 操作 数据库

复制代码 代码如下:

/*
 *    mysql数据库 分页类
 *    @package    pagelist
 *    @author        yytcpt(无影)
 *    @version    2008-03-27
 *    @copyrigth    http://www.d5s.cn/ 
 */
/*
 *    分页样式
    .page{float: left;font: 11px Arial, Helvetica, sans-serif; padding:6px 0; margin: 0px 10%; margin-top: 10px;}
    .page a, .page strong{padding: 2px 6px; border: solid 1px #ddd;    background: #fff; text-decoration: none;}
    .page a:visited{padding: 2px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
    .page .break{padding: 2px 6px; border: none; background: #fff; text-decoration: none;}
    .page strong{padding: 2px 6px; border-color: #999; font-weight: bold; font-size: 13px; vertical-align: top; background: #fff;}
    .page a:hover{color: #fff; background: #0063DC; border-color: #036; text-decoration: none;}
    .page a:hover div{color: #FFF;cursor: pointer !important;cursor: hand;}
*/
    class pagelist{
        var $page;            //分页页码
        var $sql;            //分页sql
        var $img_path;        //图标路径
        var $img;            //图标名称
        var $img_btn;        //图标地址
        var $page_size;        //设置每页显示条数
        var $num_btn;        //设置数字分页的显示个数
        var $total_pages;    //一共分多少页
        var $total_records;    //一共有多少条记录
        var $url;
        var $table;
        var $new_sql;        //指定的SQL语句
        var $db;
        function __construct(){
            global $db;
            $this->db = $db;
            $tmp_page = intval(trim($_GET["page"]));
            $this->page = empty($tmp_page)?1:$tmp_page;
            $this->set_table();
            $this->page_size = 20;
            $this->num_btn    = 9;
            $this->img_path    = '/images/';
            $this->img        = array("ico_first.gif", "ico_front.gif", "ico_next.gif", "ico_last.gif");
        }
        function set_table(){
            $this->table["tablename"]    = "";
            $this->table["id"]        = "id";
            $this->table["orderby"]    = $this->table["id"];
            $this->table["descasc"]    = "DESC";
            $this->table["fileds"]    = "*";
            $this->table["where"]    = "";
        }
        function set_img(){
            $this->img_btn[0]    = "php mysql数据库操作分页类_PHP教程img_path.$this->img[0]."' alt='首页' border='0' align='absmiddle'/>";
            $this->img_btn[1]    = "php mysql数据库操作分页类_PHP教程img_path.$this->img[1]."' alt='上一页' border='0' align='absmiddle'/>";
            $this->img_btn[2]    = "php mysql数据库操作分页类_PHP教程img_path.$this->img[2]."' alt='下一页' border='0' align='absmiddle'/>";
            $this->img_btn[3]    = "php mysql数据库操作分页类_PHP教程img_path.$this->img[3]."' alt='末页' border='0' align='absmiddle'/>";
        }
        function set_show_page(){
            $this->set_img();        //设置翻页图片路径
            $this->set_url();
            $this->set_total_records();
            if ($this->total_recordspage_size){
                $this->total_pages = 1;
            }else{
                $this->total_pages = ceil($this->total_records/$this->page_size);
            }
            if ($this->page>$this->total_pages){
                $this->page = $this->total_pages;
            }
        }
        function show_first_prv(){
            if ($this->page==1){
                $str = "".$this->img_btn[0]." ".$this->img_btn[1]."";
            }else{
                $str = "url."1"."'>".$this->img_btn[0]." ";    //此处1为首页,page值为1
                $str.= "url.($this->page-1)."'>".$this->img_btn[1]."";
            }
            return $str;
        }
        function show_next_last(){
            if ($this->page>=$this->total_pages){
                $str =  "".$this->img_btn[2]." ".$this->img_btn[3]."";
            }else{
                $str = "url.($this->page+1)."'>".$this->img_btn[2]." ";
                $str.= "url.$this->total_pages."'>".$this->img_btn[3]."";
            }
            return $str;
        }
        function show_num_text(){
            $str = " 转到第 page."'  style="max-width:90%"/> 页 ";
            $str.= "url."'+document.getElementById('go_num_text').value;\" style='font-family: Arial, Helvetica, sans-serif;font-weight:bold;font-size:14px;'>[Go]";
            return $str;
        }
        function show_num_select(){
            if ($this->total_pages                $str = " ";
            }else{
                $str = "";
            }
            return $str;
        }
        function show_num_btn(){
            if ($this->page>=1 and $this->pagetotal_pages){
                $tmp_p    = ($this->num_btn-1)/2;
                if (($this->page - $tmp_p)                    $start_p    = 1;
                }else{
                    if (($this->page-$tmp_p)>$this->num_btn and ($this->page-$tmp_p)>($this->total_pages - $this->num_btn+1)){
                        $start_p    = $this->total_pages - $this->num_btn + 1;
                    }else{
                        $start_p    = $this->page - $tmp_p;
                    }
                }
                if (($this->page+$tmp_p) total_pages){
                    $end_p = ($this->page + $tmp_p)num_btn?$this->num_btn:($this->page + $tmp_p);
                    if ($end_p>$this->total_pages){
                        $end_p = $this->total_pages;
                    }
                }else{
                    $end_p = $this->total_pages;
                }
            }
            $str = "";
            for ($i=$start_p; $i                if ($i==$this->page){
                    $str.= " ".$i." ";
                }else{
                    $str.= " url.$i."'>".$i." ";
                }
            }
            return $str;
        }
        function show_page_info(){
            $str = " 共".$this->total_records."条/".$this->total_pages."页";
            return $str;
        }
        function show_page(){
            if ($this->total_records                $this->set_show_page();
            }
            $str = $this->total_pages>1 ? $this->show_first_prv().$this->show_num_btn().$this->show_next_last().$this->show_page_info().$this->show_num_text():"";
            return $str;
        }
        //总页数
        function set_total_pages(){
            $this->total_pages = ceil($this->total_records/$this->page_size);
        }
        //总记录数
        function set_total_records(){
            if ($this->total_records==0 or !isset($this->total_records)){
                if (empty($this->count_sql) and !empty($this->table["tablename"])){
                    $sql = "SELECT count(".$this->table["id"].") as count_id FROM `".$this->table["tablename"]."` ".($this->table["where"]!=""?" WHERE ".$this->table["where"]:"");
                }else{
                    $sql = preg_replace("/SELECT(.*?)FROM(.*?)/i", "SELECT count(id) AS count_id FROM\\2", $this->sql);
                }
                $arr = $this->db->row_query_one($sql);
                $this->total_records = $arr["count_id"];
            }
        }
        /*
         * 根据sql返回查询数据
         * 指定$sql时,不必指定limit
         */
        function get_rows_by_sql($sql){
            $this->sql = $sql." LIMIT ".$this->page_size*($this->page-1).", ".$this->page_size;    //指定的SQL;
            return $this->db->row_query($this->sql);
        }
        /*
         * 最常用的分页方法,只需要传3个参数
         * $tablename 表名, $where 查询条件, $orderby 排序字段(默认以id倒序排列)
         */
        function get_rows($tablename, $where="", $orderby=""){
            $this->table["tablename"]    = $tablename;
            $this->table["where"]        = $where;
            $orderby ? $this->table["orderby"] = $orderby : "";
            $arr = array(
                "page"    => $this->show_page(),            //分页代码
                "rows"    => $this->get_rows_by_sql(),    //记录数
                "sum"    => $this->total_records,        //总记录数
            );
            return $arr;
        }
        /*
         * 特殊查询,$sql_query 查询sql语句, $row_count 统计总数
         */
        function get_rows_sql($sql_query, $row_count=0) {
            $this->total_records = $row_count;
            $arr["rows"]    = $this->get_rows_by_sql($sql_query);
            $arr["page"]    = $this->show_page();
            $arr["sum"]        = $this->total_records;
            return $arr;
        }
        function get_sql(){
            if ($this->total_records>10000) {
                $this->sql = "SELECT ".$this->table["fileds"]." FROM `".$this->table["tablename"]."` ".($this->table["where"]!=""?" WHERE ".$this->table["where"].' AND '.$this->table["id"].'>=':' WHERE '.$this->table["id"].'>=').'(SELECT '.$this->table["id"].' FROM `'.$this->table["tablename"].'` ORDER BY '.$this->table["id"].' LIMIT '.$this->page_size*($this->page-1).', 1)'." ORDER BY ".$this->table["orderby"]." ".$this->table["descasc"]." LIMIT ".$this->page_size;
            }else{
                $this->sql = "SELECT ".$this->table["fileds"]." FROM `".$this->table["tablename"]."` ".($this->table["where"]!=""?" WHERE ".$this->table["where"]:"")." ORDER BY ".$this->table["orderby"]." ".$this->table["descasc"]." LIMIT ".$this->page_size*($this->page-1).", ".$this->page_size;
            }
            //SELECT * FROM articles ORDER BY id DESC LIMIT 0, 20
            //SELECT * FROM articles WHERE category_id = 123 AND id >= (SELECT id FROM articles ORDER BY id LIMIT 10000, 1) LIMIT 10
            return $this->sql;        //SQL语句
        }
        function set_url(){
            $arr_url = array();
            parse_str($_SERVER["QUERY_STRING"], $arr_url);
            unset($arr_url["page"]);
            if (empty($arr_url)){
                $str = "page=";
            }else{
                $str = http_build_query($arr_url)."&page=";
            }
            $this->url = "http://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]."?".$str;
        }
    }
?>

复制代码 代码如下:

    $db_config["hostname"]    = "127.0.0.1";    //服务器地址 
    $db_config["username"]    = "root";        //数据库用户名 
    $db_config["password"]    = "root";        //数据库密码 
    $db_config["database"]    = "wap_blueidea_com";        //数据库名称 
    $db_config["charset"]    = "utf8"; 
    $config["charset"]        = "utf-8";        //网站编码 

    include('db.php'); 
    include('pagelist.php'); 
    $db    = new db(); 
    $db->connect($db_config); 
    header("content-type:text/html;charset=".$config["charset"]);//设置页面编码 
    $pl = new pagelist(); 
    $arr = $pl->get_rows('table_name'); 
    unset($pl); 
    echo '
';  <br>    print_r($arr);  <br>    echo '
Copier après la connexion
Copier après la connexion
'; 
    //指定特殊 sql 时候 
    $pl = new pagelist(); 
    $sql = 'SELECT * FROM `wap_article` AS a, `wap_article_info` AS b WHERE a.id=b.articleid'; 
    $arr = $pl->get_rows_sql($sql); 
    unset($pl); 
    echo '
';  <br>    print_r($arr);  <br>    echo '
Copier après la connexion
Copier après la connexion
'; 
?> 
当表中的记录总数在 10000条以上时,使用了 子查询分页,这样效率会更高一些,数据量小的时候,直接查询更快。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/318982.htmlTechArticle复制代码 代码如下: ?php /* *mysql数据库分页类 *@packagepagelist *@authoryytcpt(无影) *@version2008-03-27 *@copyrigthhttp://www.d5s.cn/ */ /* *分页样式 .page{flo...
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

Video Face Swap

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 !

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)

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Statut actuel de PHP: un regard sur les tendances de développement Web Statut actuel de PHP: un regard sur les tendances de développement Web Apr 13, 2025 am 12:20 AM

Le PHP reste important dans le développement Web moderne, en particulier dans la gestion de contenu et les plateformes de commerce électronique. 1) PHP a un écosystème riche et un fort soutien-cadre, tels que Laravel et Symfony. 2) L'optimisation des performances peut être obtenue via Opcache et Nginx. 3) PHP8.0 introduit le compilateur JIT pour améliorer les performances. 4) Les applications natives dans le cloud sont déployées via Docker et Kubernetes pour améliorer la flexibilité et l'évolutivité.

PHP: un langage clé pour le développement Web PHP: un langage clé pour le développement Web Apr 13, 2025 am 12:08 AM

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

PHP vs autres langues: une comparaison PHP vs autres langues: une comparaison Apr 13, 2025 am 12:19 AM

PHP convient au développement Web, en particulier dans le développement rapide et le traitement du contenu dynamique, mais n'est pas bon dans les applications de la science des données et de l'entreprise. Par rapport à Python, PHP présente plus d'avantages dans le développement Web, mais n'est pas aussi bon que Python dans le domaine de la science des données; Par rapport à Java, PHP fonctionne moins bien dans les applications au niveau de l'entreprise, mais est plus flexible dans le développement Web; Par rapport à JavaScript, PHP est plus concis dans le développement back-end, mais n'est pas aussi bon que JavaScript dans le développement frontal.

Place de MySQL: bases de données et programmation Place de MySQL: bases de données et programmation Apr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

La pertinence durable de PHP: est-elle toujours vivante? La pertinence durable de PHP: est-elle toujours vivante? Apr 14, 2025 am 12:12 AM

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

PHP: la fondation de nombreux sites Web PHP: la fondation de nombreux sites Web Apr 13, 2025 am 12:07 AM

Les raisons pour lesquelles PHP est la pile technologique préférée pour de nombreux sites Web incluent sa facilité d'utilisation, son soutien communautaire solide et son utilisation généralisée. 1) Facile à apprendre et à utiliser, adapté aux débutants. 2) Avoir une énorme communauté de développeurs et des ressources riches. 3) Largement utilisé dans WordPress, Drupal et d'autres plateformes. 4) Intégrez étroitement aux serveurs Web pour simplifier le déploiement du développement.

PHP vs Python: fonctionnalités et fonctionnalités de base PHP vs Python: fonctionnalités et fonctionnalités de base Apr 13, 2025 am 12:16 AM

PHP et Python ont chacun leurs propres avantages et conviennent à différents scénarios. 1.PHP convient au développement Web et fournit des serveurs Web intégrés et des bibliothèques de fonctions riches. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et une bibliothèque standard puissante. Lors du choix, il doit être décidé en fonction des exigences du projet.

See all articles