怎样处理从后台传来大量数据的分页操作

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

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

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

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

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

//获取所有的数据 
//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,希望能帮助到大家,并期望各位大佬不吝赐教。

转载于:https://www.cnblogs.com/zttDream/p/6688541.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值