>  기사  >  백엔드 개발  >  페이징 구현을 위한 PHP 연습

페이징 구현을 위한 PHP 연습

不言
不言원래의
2018-04-26 10:01:381235검색

이 글은 주로 PHP 연습에서 페이징 구현을 소개합니다. 이제는 모든 사람과 공유합니다. 필요한 친구들이 참조할 수 있습니다.

테이블 문 만들기

CREATE TABLE `guestbook` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,  
  `nickname` char(15) NOT NULL default '',  
  `email` varchar(100) NOT NULL default '',  
  `content` text NOT NULL,  
  `createtime` int(10) unsigned NOT NULL default '0',  
PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

데이터 삽입

insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('1',  'admin',    'admin@5idev.com',  '留言测试', '1264167501');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('2',  'user', 'user@163.com', '大家好',  '1264168127');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('3',  '小明',   'xiaoming@163.com', '做得好,继续努力。。',   '1264168865');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('4',  '小张',   'xiaozhang@163.com',    '来看看',  '1264169118');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('5',  '小丽',   'xiaoli@tom.com',   'haha', '1283276566');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('6',  'Tom',  'tom@gmail.com',    'Hello',    '1283336218');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('7',  'Jack', 'jack@hotmail.com', 'okok', '1283336315');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('8',  'admin',    'admin@5idev.com',  '嗯嗯',   '1283336315');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('9',  '阿里巴巴', 'alibaba@5idev.com',    '来看看',  '1283337158');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('10', '路人甲',  'haha@163.com', '哈哈哈',  '1283338228');

소스 코드

<?php
    $host = &#39;localhost&#39;;    
    $username = &#39;root&#39;;    
    $password = &#39;&#39;;    
    $dbname = &#39;test&#39;;    
    $port = &#39;&#39;;    
    $link = new mysqli($host,$username,$password,$dbname);    
    if($link->connect_error){        
    die(&#39;Connect Error(&#39;.$linlk->connect_erron.&#39;)&#39;.$link->connect_error);
    }    
    $link->set_charset("utf8");    //每页显示的留言数
    $pageSize = 4;    //确定当前页数$p 参数
    $p = isset($_GET[&#39;p&#39;]) ? $_GET[&#39;p&#39;] : 1;    //数据指针
    $offset = ($p-1)*$pageSize;    //查询本页显示的数据
    $query_sql = "select * from guestbook order by id desc limit $offset,$pageSize";    // echo $query_sql;
    $result = $link->query($query_sql);    
    if($result){          
    while($gblist = $result->fetch_array(MYSQLI_ASSOC)){            
    echo &#39;<a href="&#39;,$gblist[&#39;nickname&#39;],&#39;">&#39;,$gblist[&#39;nickname&#39;],&#39;</a> &#39;;            
    echo &#39;发表于:&#39;,date("Y-m-d H:i", $gblist[&#39;createtime&#39;]),&#39;<br />&#39;;            
    echo &#39;内容:&#39;,$gblist[&#39;content&#39;],&#39;<br /><hr />&#39;;
          }
    }    //分页格式
    $count_sql = "select count(*) as count from guestbook";    
    $count_result = $link->query($count_sql);    
    $count_array = $count_result->fetch_assoc();    
    $count = $count_array[&#39;count&#39;];    //计算总的页数
    $pagenum = ceil($count/$pageSize);    
    echo &#39;共&#39;,$count,&#39;条留言&#39;;    //循环输出各页数目及连接
    if($pagenum > 1){        
    for($i=1;$i<=$pagenum;$i++){            
    if($i == $p){                
    echo "[$i]";
            }else{                
            echo "[<a href=&#39;oPagenate.php?p=$i"."&#39;>$i</a>]";
            }
        }
    }

관련 권장사항:

PHP 연습 프로젝트 노트 - 쿠키

base64 형식 이미지를 지정된 디렉터리에 저장하는 PHP 방법

                                   

위 내용은 페이징 구현을 위한 PHP 연습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:각 목록에 대한 PHP다음 기사:각 목록에 대한 PHP