使用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的FTP学习(一)[转自奥索]
Oct 09 PHP
php 数组的创建、调用和更新实现代码
Mar 09 PHP
PHP性能优化 产生高度优化代码
Jul 22 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
destoon二次开发入门示例
Jun 20 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
php生成高清缩略图实例详解
Dec 07 PHP
Smarty环境配置与使用入门教程
May 11 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
PHP获取ttf格式文件字体名的方法示例
Mar 06 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 PHP
在laravel中实现事务回滚的方法
Oct 10 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
收集的PHP中与数组相关的函数
2007/03/22 PHP
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JQuery浮动DIV提示信息并自动隐藏的代码
2010/08/29 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
javascript闭包的理解
2015/04/01 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
Vue项目打包编译优化方案
2020/09/16 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
python如何实现word批量转HTML
2020/09/30 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
2020/11/17 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
物业招聘计划书
2014/01/10 职场文书
家长对孩子的评语
2014/04/18 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
期中考试后的感想
2015/08/07 职场文书
高中物理教学反思
2016/02/19 职场文书
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js