zoukankan      html  css  js  c++  java
  • 怎样处理从后台传来大量数据的分页操作

    想必大家对数据不会陌生,而且最近大数据这个词语一直在我们的生活中甚嚣尘上,让我们读来感觉不名觉历。

    那到底是什么是大数据呢,我理解的大数据就是数据量很庞大,但是这么大的数据我们怎么处理呢?

    新闻大家都知道吧,每时每刻都是新鲜事发生,而这就是新闻,当我们把新闻传到数据库,是一条条传,但是怎么读取和展示呢?

    慢慢来,听我一点点的说:

    首先是数据的读取,这里我们要调用函数,这个函数主要是用来读取数据库中的数据并将数据存入到数组中

    //获取所有的数据 
    //pageNum是当前页数,pageSize是页面展示数据的条数
    function getAllMessage($pageNum=1,$pageSize=3){
    //新建一个存放数据的数组
        $array = array();
    //链接数据库
        $coon = mysqli_connect("localhost","root") or die("数据库连接失败");
    //选择要操作的数据库名称
        mysqli_select_db($coon,'firstdb') or die(mysqli_errno($coon));
    //修改编码格式
        mysqli_set_charset($coon,'utf8');
    //要执行的数据库操作语句
        $sql = "select * from t_status limit ".(($pageNum-1)*$pageSize).",".$pageSize;
    //执行数据库操作语句
        $rs = mysqli_query($coon,$sql) or die(mysqli_errno($coon));
    //利用循环将数据转化为对象并存入数组中
        while ($r = mysqli_fetch_object($rs)){
            $array[] = $r;
        }
    //关闭数据库
        mysqli_close($coon);
    //返回数组
        return $array;
    }

    在这里要说一下MySQL语言中的limit关键字了,闲话少说直接上代码:

    select * from tabName limit index,length;

    其中tabName是表的名称,index是索引值,length是展示数据的长度。

    除了获取指定索引和长度的数据,我们还要知道数据的总长度,主要是用来确定分页的最后一页的,上代码:

    //获取所有的数据总数
    //返回值为数据库所有数据的总数
    function getCount(){
    //数据库的链接
        $coon = mysqli_connect("localhost","root") or die("数据库连接失败");
    //要操作的数据库
        mysqli_select_db($coon,'firstdb') or die(mysqli_errno($coon));
    //修改编码格式
        mysqli_set_charset($coon,'utf8');
    //要执行的数据库语句
        $sql = "select count(*) num from t_status";
    //执行语句
        $rs = mysqli_query($coon,$sql) or die(mysqli_errno($coon));
        $r = mysqli_fetch_object($rs);
        mysqli_close($coon);
        return $r->num;
    }
    select count(*) num from t_status;
    在这个语句中 count是关键字,是用来获取数据总长度并给一个名称num。
    数据获取到了,接下来就是页面的展示了,我直接上代码,详细的说明也在代码中一一说明:
    <?php
    //引用函数的路径
    include_once "getMessage.php";
    //定义索引值
    $pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];
    //定义一个页面数据展示的长度
    $pageSize = 3;
    //获取所有的数据条数
    $total = getCount();
    //将数据分配到页面并进行数据取证
    $allPage = ceil($total/$pageSize);
    //获取指定索引与长度的数据条数
    $array=getAllMessage($pageNum,$pageSize);
    ?>
    <body>
    //简单的展示页面
    <table border="1">
        <tr>
            <td>编号</td>
            <td>内容</td>
            <td>日期</td>
            <td>操作</td>
        </tr>
    //重头戏 使用循环进行数据库内容的展示 
        <?php
        foreach($array as $key=>$values){
            echo "<tr>";
            echo "<td>{$values->id}</td>";
            echo "<td>{$values->content}</td>";
            echo "<td>{$values->data}</td>";
            echo "<td>删除</td>";
            echo "</tr>";
        }
        ?>
    </table>
    <div style="text-align: center">
    //使用get方式传递数据,将 首页 和 尾页 的数据写死
        <a href="index.php?pageNum=1">首页</a>
    //上一页要判断本页面的数值是不是第一页
        <a href="index.php?pageNum=<?php echo $pageNum==1?1:$pageNum-1 ?>">上一页</a>
    //同理尾页要判断是否是最后一页
        <a href="index.php?pageNum=<?php echo $pageNum==$allPage?$allPage:$pageNum+1 ?>">下一页</a>
        <a href="index.php?pageNum=<?php echo $allPage?>">尾页</a>
    </div>

    只是一个简单的demo,希望能帮助到大家,并期望各位大佬不吝赐教。

  • 相关阅读:
    博客作业01-日期抽象数据类型的设计与实现
    C语言博客作业06--结构体&文件
    C语言博客作业05--指针
    C语言博客作业04--数组
    C语言博客作业03---函数
    C语言博客作业02----循环结构
    DS博客作业08--课程总结
    DS博客作业07--查找
    DS博客作业06--图
    DS博客作业05--树
  • 原文地址:https://www.cnblogs.com/zttDream/p/6688541.html
Copyright © 2011-2022 走看看