使用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获取表单textarea数据中的换行问题
Sep 10 PHP
PHP下常用正则表达式整理
Oct 26 PHP
redis 队列操作的例子(php)
Apr 12 PHP
php版小黄鸡simsimi聊天机器人接口分享
Jan 26 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
php实现购物车功能(上)
Jul 23 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
Yii2数据库操作常用方法小结
May 04 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
May 26 PHP
PHP中一个有趣的preg_replace函数详解
Aug 15 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 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
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
玩转图像函数库―常见图形操作
2006/09/03 PHP
php下实现伪 url 的超简单方法[转]
2007/09/24 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
python3 实现验证码图片切割的方法
2018/12/07 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
Python 文件数据读写的具体实现
2020/01/24 Python
Python3 读取Word文件方式
2020/02/13 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
精伦电子Java笔试题
2013/01/16 面试题
演讲主持词
2014/03/18 职场文书
商务助理求职信范文
2014/04/20 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
无故旷工检讨书
2015/08/15 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
Vue3中的Refs和Ref详情
2021/11/11 Vue.js
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript