使用PHP处理数据库数据如何将数据返回客户端并显示当前状态


Posted in PHP onFebruary 16, 2016

php处理大量数据,每处理一个数据返回客户端显示当前状态的方法。

类似于dedecms生成静态页

想法:

1.客户端发送请求
2.服务器端接受请求,开始统计所需处理的数据量
3.将所需处理数据按一定规则排列,发送到服务器处理端
4.服务器处理端处理了第一个数据,将处理结果经过一定处理后发送给客户端
5.客户端接收到结果,自动将处理结果显示并发送到服务器
6.服务器接收到处理结果 将它转发到服务器处理端
7.处理端继续处理结果...
8.循环4-7步骤,直到处理完毕

实验过程:

1.创建数据库和表

create databases handle;
create table user(
id int unsigned not null auto_increment primary key,
name varchar(8),
sex tinyint(1) default '1',
score int not null,
state tinyint(1)
);

2.向表中添加数据(不示例)

3.创建index.html客户端,a.php服务端1,b.php服务端2

Index.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>客户端</title>
</head>
<body>
<button onclick="send('a.php?state=0')">开始请求</button>
<div style="position: fixed;width: 500px;height: 300px;top: 100px;background: gray">
<span style="color: white;font-size: 20px;"></span>
</div>
<script type="text/javascript" src="./jquery-1.10.2.min.js"></script>
<script type="text/javascript">
//创建一个模态框
function display(value){
$('span').html(value);
}
//ajax
function send(dizhi){
$.ajax({
type: "get",
url: dizhi,
success: function(msg){
var arr=JSON.parse(msg);
console.log(arr);
//alert(arr.value);
var tishi="已经处理 "+arr.now +"个,共"+arr.all+"个";
display(tishi);
if(arr.now!=arr.all){
send("a.php?now="+arr.now+"&all="+arr.all);
}else{
alert("完成!");
}
}
});
}
</script>
</body>
</html>

a.php:

<?php
require('./dbconfig.php');
$link=mysql_connect(HOST,USER,PASS) or die('数据库链接失败');
mysql_select_db(DBNAME);
/*
查询数据
$sql="select * from user";
$result=mysql_query($sql);
$row=mysql_fetch_assoc($result);
var_dump($row);
*/
/*
循环插入
for($i=3;$i<=100;$i++){
$sql= "insert into user(name,score,state) values('z".$i."',".$i.",1)";
mysql_query($sql);
}
*/
/*查询需要处理的数据总数*/
//isset($_GET['state'])?$_GET['state']:0;
if(isset($_GET['state'])){
$sql="select count(*) from user";
$result=mysql_query($sql);
$all=mysql_result($result,0);
$now=0;
header("Location: b.php?all={$all}&now=0");
}else{
header("Location: b.php?all={$_GET['all']}&now={$_GET['now']}");
}
/*返回当前处理的数据*/

b.php:

<?php
require('./dbconfig.php');
$link=mysql_connect(HOST,USER,PASS) or die('数据库链接失败');
mysql_select_db(DBNAME);
/*返回当前处理的数据*/
//$id=$_GET['id'];//获取将要处理的id
$now=$_GET['now'];//已经处理的个数
$all=$_GET['all'];//总共要处理的个数
$sql="select score from user limit {$now},1";
$result=mysql_query($sql);
$value=mysql_result($result, 0);
$now++;
$arr=array(
'now'=>$now,
'all'=>$all,
'value'=>$value
);
//print_r($arr);
echo json_encode($arr);

dbconfig.php:

<?php
define('HOST','127.0.0.1');
define('USER', 'root');
define('PASS','root');
define('DBNAME','handle');

以上所述是小编给大家分享的使用PHP处理数据库数据如何将数据返回客户端并显示当前状态,希望对大家有所帮助!

PHP 相关文章推荐
PHP4实际应用经验篇(9)
Oct 09 PHP
php header()函数使用说明
Jul 10 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
php excel类 phpExcel使用方法介绍
Aug 21 PHP
php数据库配置文件一般做法分享
Jul 07 PHP
web server使用php生成web页面的三种方法总结
Oct 28 PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 PHP
8个PHP数组面试题
Jun 23 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
Jan 19 PHP
PHP数组编码gbk与utf8互相转换的两种方法
Sep 01 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 PHP
php获取是星期几的的一些常用姿势
Dec 15 PHP
PHP的Yii框架入门使用教程
Feb 15 #PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 #PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
Feb 15 #PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
Feb 15 #PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
Feb 15 #PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 #PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
Feb 14 #PHP
You might like
PHP 处理图片的类实现代码
2009/10/23 PHP
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
浅谈jQuery中的事件
2015/03/23 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
利用Python绘制数据的瀑布图的教程
2015/04/07 Python
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2015/05/20 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
Python引用计数操作示例
2018/08/23 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
基于python调用psutil模块过程解析
2019/12/20 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
Lands’ End官网:经典的美国生活方式品牌
2016/08/14 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
Python如何实现单例模式
2016/06/03 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
工商管理专业应届生求职信
2013/11/04 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android