采集数据和memchche的存储使用,分页展示
<?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的存储使用,分页展示的更多相关文章
- 服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana
服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana https://www.cnblogs.com/xishuai/p/elk- ...
- Can JavaScript connect with MySQL? 浏览器控制台的js采集数据结果持久化存储
浏览器控制台的js采集数据结果持久化存储 how to open a file in javascript https://developer.mozilla.org/en-US/docs/Web/A ...
- 基于PHP采集数据入库程序(一)
前几天有一朋友要我帮做一个采集新闻信息的程序,抽了点时间写了个PHP版本的,随笔记录下. 说到采集,无非就是远程获取信息->提取所需内容->分类存储->读取->展示 也算是简单 ...
- 大数据项目之_15_电信客服分析平台_01&02_项目背景+项目架构+项目实现+数据生产+数据采集/消费(存储)
一.项目背景二.项目架构三.项目实现3.1.数据生产3.1.1.数据结构3.1.2.编写代码3.1.3.打包测试3.2.数据采集/消费(存储)3.2.1.数据采集:采集实时产生的数据到 kafka 集 ...
- 01 Zabbix采集数据方式
Zabbix采集数据方式 1. zabbix采集数据方式: 基于专用agent 被监控的设备上面安装agent软件,这个agent必须在设备上面有采集数据的权限 基于SNMP, net-snmp ...
- [PHP自动化-进阶]001.CURL模拟登录并采集数据
引言:PHP可以通过libcurl实现模拟登录,提交数据,违法乱纪,烧杀抢虐等等事项. 简单说明一下"libcurl",补一下脑: libcurl目前支持http.https.ft ...
- 测试开发【提测平台】分享9-DBUntils优化数据连接&实现应用搜索和分页功能
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 从本期开始知识点讲以思维导图的形式给出,内容点会按照讲解-应用-展示的形式体现,这样会更清晰些. DBUntils连接池 在项目中链接数据 ...
- 利用DMA实现采样数据的直接搬运存储
尝试了下STM32的ADC采样,并利用DMA实现采样数据的直接搬运存储,这样就不用CPU去参与操作了. 找了不少例子参考,ADC和DMA的设置了解了个大概,并直接利用开发板来做一些实验来验证相关的操作 ...
- DMA实现采样数据的直接搬运存储
尝试了下STM32的ADC采样,并利用DMA实现采样数据的直接搬运存储,这样就不用CPU去参与操作了. 找了不少例子参考,ADC和DMA的设置了解了个大概,并直接利用开发板来做一些实验来验证相关的操作 ...
随机推荐
- 把本地代码同步到github
2016-05-03 12:52:00 把代码同步到远程github,还算比较顺利.主要参考了以下两个博客,谢谢 http://blog.csdn.net/duxinfeng2010/article/ ...
- ShellShock 攻击实验
一. 实验描述 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发.在本实验中,学生需要亲手重现攻击来理解该漏洞,并回答一些问 ...
- 浅谈c语言的指针
对于非计算机专业的同学,c语言的指针往往就是老师的一句“指针不考“就带过了.c语言的指针号称是c语言的灵魂,是c语言中最精妙的部分. 指针本质上也是变量,也就是一段内存,只是他的特殊之处是他存储的数据 ...
- Sql 常用时间转换
CONVERT(varchar(100), GETDATE(), 0); -- 08 31 2015 04:57PM CONVERT(varchar(100), GETDATE(), 20); --2 ...
- struts2 错误提示页面
以前做的一个网站,最近服务器后台出现一些异常,问题是客户访问一个该网站下不存在的action,为了给客户一个友好的界面提示以及减小服务器端日志文件的内容.就在struts2下进行了如下配置: 在str ...
- mybatis学习
什么是 MyBatis ? MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis ...
- C语言程序设计第九次作业
一.学习内容 本次课我们重点学习了怎样向函数传递数组,鉴于大家对函数和数组的理解和运用还存在一些问题,下面通过一些实例加以说明,希望同学们能够认真阅读和理解. 例1:火柴棍拼数字 ...
- Angular【学习笔记】
1.angular入门网站 感谢@菜鸟教程:http://www.runoob.com/angularjs/angularjs-tutorial.html 学习笔记:
- Excel 改变列表头显示方式, Excel显示列数字
'显示数字列号 Sub showCellNumber() Application.ReferenceStyle = xlR1C1 End Sub '显示字母列号 Sub showCellZimu() ...
- java开发命名规范
使用前注意事项: 1. 由于Java面向对象编程的特性, 在命名时应尽量选择名词 2. 驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,首 ...