切换风格

后盾人PHP论坛-php培训论坛-php教程-PHP视频教程-北京PHP培训

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 142|回复: 3

[PHP&Mysql] 关于页面分页问题

[复制链接]
     
  • TA的每日心情
    无聊
    2018-3-3 00:30
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    5

    主题

    15

    帖子

    331

    积分

    学前班

    Rank: 2

    积分
    331
    活动推广币
    0 个
    后盾币
    331 个
    注册时间
    2017-12-27
    在线时间
    7 小时
    帖子
    15
    发表于 2018-1-2 11:08:47 | 显示全部楼层 |阅读模式

    分页里的内容时乱码,但下面的页数不乱码,这是怎么回事啊
    代码如下:
    <?php
    header("Content-Type:text/html;charset=utf-8");
    class StrPage{
        private $file;
        private $current;
        private $totalPage;
        private $url;
        private $pageLen;
        function __construct($file,$len=500){
            $this->file=file_get_contents($file);
            $this->current=isset($_GET['page'])?$_GET['page']:1;
            $this->pageLen=$len;
            $this->totalPage=$this->getTotalPage();
            $this->url=$this->getUrl();
            

        }
        private function getTotalPage(){
                return ceil(strlen($this->file)/$this->pageLen);
        }
        private function getUrl(){
                  /* return  $_SERVER['REQUEST_URI'];*/
                   /*parse_url($_SERVER['REQUEST_URI']);
                   print_r($url);  
                   */      
                 $url=parse_url($_SERVER['QEQUEST_URL']);
                 parse_str($url['query'],$queryArr);
                 unset($queryArr['page']);
                 $queryStr=http_build_query($queryArr);
                 return $url['path'].'?'.$queryStr.'&page=';
        }
      private function first(){
              if($this->current>1) return "<a href='".$this->url."1'>首页</a>";
      }
      private function pre(){
           if($this->current>1) return "<a href=' ".$this->url.($this->current-1)."'>上一页</a>";

      }
      private function next (){
           if($this->current<$this->totalPage) return "<a href='".$this->url.($this->current+1)."'>下一页</a>";

      }
      private function end(){
           if($this->current<$this->totalPage) return "<a href='".$this->url.$this->totalPage."'>末页</a>";
      }
    private function  pageList(){
           for($i=1;$i<=$this->totalPage;$i++){
                 if($i==$this->current){
                      $pageListStr.=$i;
                 }else{
                      $pageListStr.="<a href='".$this->url.$i."'>$i</a>";

                 }
           }
    }
    public function pageStyle($style=1){
          switch ($style) {
              case 1:
                  return "共有".$this->totalPage."页".$this->first().$this->pre().$this->pageList().$this->next().$this->end();
                  break;
             
              case 2:
                  return $this->pageList();
                  break;
          }
    }
    public function  getContents(){
         $prePageLen=strlen($this->subStrs($this->current-1));
         $currentPageLen=strlen($this->subStrs($this->current));
         return substr($this->file,$prePageLen,$currentPageLen-$prePageLen);
    }
    private function subStrs($page){
          $len=$page*$this->pageLen;
          for($i=0;$i<$len;$i++){
          if(ord(substr($this->file,$i,2))>0xa0){
               $string.=substr($this->file,$i,2);
                    $i++;

          }else{
               $string.=substr($this->file,$i,1);
          }

         }
          return $string;
    }
    }

    $c = new StrPage('b.txt');
    echo $c->getContents();
    echo "<div style='border: solid 1px #ccc;font-size:12px;color:#333'>";
    echo $c->pageStyle();
    echo "</div>";
    ?>

         
  • TA的每日心情
    无聊
    2018-3-3 00:30
  • 签到天数: 381 天

    [LV.9]以坛为家II

    119

    主题

    2840

    帖子

    5万

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    57178
    活动推广币
    0 个
    后盾币
    57178 个
    注册时间
    2013-8-1
    在线时间
    940 小时
    帖子
    2840

    终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖金点子奖原创先锋奖金秋活动荣誉勋章灌水天才奖新人进步奖签到达人奖

    QQ
    发表于 2018-1-2 16:05:40 | 显示全部楼层
    首先你的图片没有传上来,再一个你的txt编码可能是gbk的,你试着改改编码。
         
  • TA的每日心情
    无聊
    2018-3-3 00:30
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    5

    主题

    15

    帖子

    331

    积分

    学前班

    Rank: 2

    积分
    331
    活动推广币
    0 个
    后盾币
    331 个
    注册时间
    2017-12-27
    在线时间
    7 小时
    帖子
    15
     楼主| 发表于 2018-1-2 19:13:01 | 显示全部楼层
    梦想执行者 发表于 2018-1-2 16:05
    首先你的图片没有传上来,再一个你的txt编码可能是gbk的,你试着改改编码。

    这个txt文件怎么改编码格式啊
         
  • TA的每日心情
    无聊
    2018-3-3 00:30
  • 签到天数: 381 天

    [LV.9]以坛为家II

    119

    主题

    2840

    帖子

    5万

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    57178
    活动推广币
    0 个
    后盾币
    57178 个
    注册时间
    2013-8-1
    在线时间
    940 小时
    帖子
    2840

    终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖金点子奖原创先锋奖金秋活动荣誉勋章灌水天才奖新人进步奖签到达人奖

    QQ
    发表于 2018-1-3 15:38:15 | 显示全部楼层
    北斋先生 发表于 2018-1-2 19:13
    这个txt文件怎么改编码格式啊

    另存的时候可以选择编码。
    业精于勤,荒于嬉。行成于思,毁于随
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    Archiver|小黑屋|后盾人 人人做后盾 ( 京ICP备12048441号-3 )

    GMT+8, 2018-7-23 02:25 , Processed in 0.120817 second(s), 31 queries .

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表