使用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的分页功能
Mar 21 PHP
PHP 木马攻击防御技巧
Jun 13 PHP
解析在zend Farmework下如何创立一个FORM表单
Jun 28 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
PHP文件缓存类实现代码
Oct 26 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
Jan 03 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
对laravel in 查询的使用方法详解
Oct 09 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
浅谈python写入大量文件的问题
2018/11/09 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
暑期社会实践学生的自我评价
2014/01/09 职场文书
考试违纪检讨书
2014/02/02 职场文书
《陋室铭》教学反思
2014/02/26 职场文书
连带责任保证书
2014/04/29 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
募捐感谢信
2015/01/22 职场文书
早会开场白台词大全
2015/06/01 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
小学数学教师研修日志
2015/11/13 职场文书
教师个人教学反思
2016/02/23 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python
深入理解go slice结构
2021/09/15 Golang