使用PHP处理数据库数据如何将数据返回客户端并显示当前状态,php当前状态
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处理数据库数据如何将数据返回客户端并显示当前状态,希望对大家有所帮助!
您可能感兴趣的文章:
- MySQL 客户端不输入用户名和密码直接连接数据库的2个方法
- oracle数据库在客户端建立dblink语法
- DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .
- Orcale 数据库客户端PL/SQL 中文乱码的问题解决方法
- python网络编程学习笔记(九):数据库客户端 DB-API
- PostgreSQL数据库服务端监听设置及客户端连接方法教程

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 Chinese version
Chinese version, very easy to use

Dreamweaver CS6
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor

WebStorm Mac version
Useful JavaScript development tools
