<?php
header('content-type:text/html;charset=utf-8');
//实例化memcache
$mem=new Memcache();
//链接
$mem->connect('127.0.0.1','11211');

$list=$mem->get('ceshi');
if(empty($list)){
    $url="http://auto.baidu.com/";
    $str=file_get_contents($url);
    // echo $str;
    $reg1='#<li class="sticky">.*</ul>.*</div>#isU';
    preg_match($reg1,$str,$data);
    // var_dump($data);
    $reg2='#<li class="list"><h5><a href=".*" target="_blank" mon="a=1&p=1&z=daogou&pn=.*">(.*)</a></h5></li>#isU';
    preg_match_all($reg2,$data[0],$arr1);
    // var_dump($arr1);
    unset($arr1[0]);//存入数据
$mem->set('ceshi',$arr1);
}
$list=$mem->get('ceshi');

// var_dump($list);die;
// $res=$list[0];
// var_dump($res);
$res=array();
foreach ($list as $key => $value) {
    // var_dump($value);
    $res=$value;
}
//var_dump($res);die;
//计算总条数
$count=count($res);
//设置每页显示条数
$length=3;
//总页数
$pagenum=ceil($count/$length);
// echo $pagenum;die;
$page=isset($_GET['page']) ? $_GET['page']:1;
//上一页
$prev=$page<1 ? 1:$page-1;
//下一页
$next=$page>$pagenum ? $pagenum:$page+1;
//设置偏移量
$offset=($page-1)*$length;
$list=array_slice($res,$offset,$length);
// mb_substr($list,);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
</head>
<body>
        <table>
        <tr>
            <td>编号</td>
            <td>新闻</td>
        </tr>
        <?php foreach($list as $k=>$v): ?><!-- mb_substr($v,'utf-8'),'.....'  -->
        <tr>
            <td><?php echo $k+1; ?></td>
            <td><?php echo mb_convert_encoding($v,'utf8','gb2312');?></td>
        </tr>
        <?php endforeach ?>
        <tr>
            <td>
                <a href="qu_1">首页</a>
                <!-- <a href="qu_<?php echo $prev; ?>">上一页</a>
                <a href="qu_<?php echo $next; ?>">下一页</a>
                <a href="qu_<?php echo $pagenum; ?>">尾页</a> -->
                <a href="qu_<?php echo $prev; ?>">上一页</a>
                <a href="qu_<?php echo $next; ?>">下一页</a>
                <a href="qu_<?php echo $pagenum; ?>">尾页</a>
            </td>
        </tr>
    </table>
</body>
</html>

采集数据和memchche的存储使用,分页展示的更多相关文章

  1. 服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana

    服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana https://www.cnblogs.com/xishuai/p/elk- ...

  2. Can JavaScript connect with MySQL? 浏览器控制台的js采集数据结果持久化存储

    浏览器控制台的js采集数据结果持久化存储 how to open a file in javascript https://developer.mozilla.org/en-US/docs/Web/A ...

  3. 基于PHP采集数据入库程序(一)

    前几天有一朋友要我帮做一个采集新闻信息的程序,抽了点时间写了个PHP版本的,随笔记录下. 说到采集,无非就是远程获取信息->提取所需内容->分类存储->读取->展示 也算是简单 ...

  4. 大数据项目之_15_电信客服分析平台_01&02_项目背景+项目架构+项目实现+数据生产+数据采集/消费(存储)

    一.项目背景二.项目架构三.项目实现3.1.数据生产3.1.1.数据结构3.1.2.编写代码3.1.3.打包测试3.2.数据采集/消费(存储)3.2.1.数据采集:采集实时产生的数据到 kafka 集 ...

  5. 01 Zabbix采集数据方式

    Zabbix采集数据方式 1. zabbix采集数据方式: 基于专用agent   被监控的设备上面安装agent软件,这个agent必须在设备上面有采集数据的权限 基于SNMP,  net-snmp ...

  6. [PHP自动化-进阶]001.CURL模拟登录并采集数据

    引言:PHP可以通过libcurl实现模拟登录,提交数据,违法乱纪,烧杀抢虐等等事项. 简单说明一下"libcurl",补一下脑: libcurl目前支持http.https.ft ...

  7. 测试开发【提测平台】分享9-DBUntils优化数据连接&实现应用搜索和分页功能

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 从本期开始知识点讲以思维导图的形式给出,内容点会按照讲解-应用-展示的形式体现,这样会更清晰些. DBUntils连接池 在项目中链接数据 ...

  8. 利用DMA实现采样数据的直接搬运存储

    尝试了下STM32的ADC采样,并利用DMA实现采样数据的直接搬运存储,这样就不用CPU去参与操作了. 找了不少例子参考,ADC和DMA的设置了解了个大概,并直接利用开发板来做一些实验来验证相关的操作 ...

  9. DMA实现采样数据的直接搬运存储

    尝试了下STM32的ADC采样,并利用DMA实现采样数据的直接搬运存储,这样就不用CPU去参与操作了. 找了不少例子参考,ADC和DMA的设置了解了个大概,并直接利用开发板来做一些实验来验证相关的操作 ...

随机推荐

  1. jQuery--事件总结

    标准的绑定: bind(type,[,data],fn)==>第一个参数是事件类型 第二个可选参数作为event.data 传递给事件对象的额外数据对象 第三个参数为用来绑定的处理函数 简写绑定 ...

  2. sigaction和sigqueue

    sigaction函数相对于siganl函数控制信号的发送要更加精确一些,其函数原型为: int sigaction(int signum, const struct sigaction *act, ...

  3. red hat enterprise 6安装tftp服务

    1--->检查是否安装tftp rpm -qa tftp* 2--->安装tftp yum install -y tftp-server 3--->chkconfig --list| ...

  4. TestNG插件的安装问题

    一.可以采用离线安装的方式 离线安装若不成功,可以删除之前的eclipse,然后在新下载eclipse中添加离线安装包 1.离线安装方法: 发现很多同学和我一样无法在线安装testNg,现在分享一个离 ...

  5. 移动端div移动

    <!doctype html> <html lang="en"> <head> <meta http-equiv="Conten ...

  6. 【python】实用函数啥的

    1.测试运行时间/效率 t = time() print time() -t 2.C:\python344\Scripts   easy_install.exe ,提供包的名字,可以自动下载+装包 3 ...

  7. javascript中的克隆

    一:节点克隆 var p = document.getElementsByTagName("p")[0]; var cP = p.cloneNode();//克隆p节点 var c ...

  8. 如何在Form++开源组态平台添加硬件采集接口

    E-Form++是一套值得推荐的高品质开源C++矢量图形库,C++编程之所以异常困难,主要就是没有很专业的C++基础架构库有关.E-Form++的出现一定程度上填补了这个空白.是开发工控.监控.建模与 ...

  9. CABasicAnimation的delegate的坑

    博客已经迁移到 www.chjsun.top 在自定义动画的时候,CABasicAnimation用的还算的蛮多的. 在此先介绍一下CABasicAnimation怎么使用. 属性介绍  属性 说明 ...

  10. LingQ 的Distinct使用方法

    需要将对象继承 IEqualityComparer<对象类名> 接口 然后实现下面两个方法 public bool Equals(对象 x, 对象y) { return x.ID == y ...