使用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 相关文章推荐
真正的ZIP文件操作类(php)
Jul 21 PHP
PHP令牌 Token改进版
Jul 18 PHP
php下关于中英数字混排的字符串分割问题
Apr 06 PHP
领悟php接口中interface存在的意义
Jun 27 PHP
php中session退出登陆问题
Feb 27 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
Nov 08 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
Apr 27 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
Jul 13 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
Apr 04 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
Oct 17 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判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
javascript从image转换为base64位编码的String
2014/07/29 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
深入解析Python中的变量和赋值运算符
2015/10/12 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
如何更改 pandas dataframe 中两列的位置
2019/12/27 Python
基于python实现地址和经纬度转换
2020/05/19 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
精选奢华:THE LIST
2019/09/05 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
就业推荐自我鉴定
2013/10/06 职场文书
移动通信专业自荐信范文
2013/11/12 职场文书
银行员工辞职信范文
2014/01/20 职场文书
旅游管理专业大学生职业规划书
2014/02/27 职场文书
听课评语大全
2014/04/30 职场文书
市场营销工作计划书
2014/09/15 职场文书
2014年终工作总结范本
2014/12/15 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
公司晚会主持词
2019/04/17 职场文书
详解MySQL的内连接和外连接
2023/05/08 MySQL