使用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 相关文章推荐
PHP stream_context_create()作用和用法分析
Mar 29 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
Mar 04 PHP
帝国cms目录结构分享
Jul 06 PHP
PHP实现的json类实例
Jul 28 PHP
ThinkPHP静态缓存简单配置和使用方法详解
Mar 23 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
PHP html_entity_decode()函数讲解
Feb 25 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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
ZF等常用php框架中存在的问题
2008/01/10 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
jquery.validate使用攻略 第二部
2010/07/01 Javascript
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
JsRender实用入门教程
2014/10/31 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
js实现图片360度旋转
2017/01/22 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
深入理解Python中各种方法的运作原理
2015/06/15 Python
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
python文件及目录操作代码汇总
2020/07/08 Python
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
工作个人的自我评价
2014/01/14 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
海洋科学专业求职信
2014/08/10 职场文书
开发房地产协议书
2014/09/14 职场文书