使用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处理数据库数据如何将数据返回客户端并显示当前状态,希望对大家有所帮助!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库客户端
, php处理数据
显示当前状态
查询当前数据库实例名、查看当前数据库实例、查询当前数据库实例、查看当前数据库实例名、mac 数据库客户端,以便于您获取更多的相关知识。

时间: 2025-01-30 09:05:21

使用PHP处理数据库数据如何将数据返回客户端并显示当前状态_php实例的相关文章

php中单个数据库字段多列显示(单字段分页、横向输出)_php实例

今天在做项目时,遇到个问题就是把从数据库读出来的同一字段分行分列显示,就是每行显示12列,根据总记录数控制循环行数.如果是多字段很好实现,一个循环搞定,如果是一个字段循环那么就比较麻烦了,需要同时用到多个循环还有递增变量,网上也有很多Phper遇到相似的问题,今天小编把自己的解决方案分享大家. 对于同一字段循环多行和控制列显示个数,实现原理就是先用Limit限制读出第一次循环,然后拿第一次循环读出的记录数加上要每行显示的列数.下面直接附上代码: 第一次循环代码: <tr> <?php $

php中将一段数据存到一个txt文件中并显示其内容_php技巧

这里的数据可以为基本数据类型,数组,对象等: 在存储的时候可以用serialize进行序列化,但取的时候要先用unserialize反序列化. <?php $data = array("上海","西安","北京"); //将数组存到指定的text文件中 file_put_contents("E:/data.txt",serialize($data)); //获取数据 $datas = unserialize(file_g

php+ajax 实现输入读取数据库显示匹配信息_php实例

废话不多说了,直接跟大家贴代码了 dropbox_index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

创建数据库php代码 用PHP写出自己的BLOG系统_php实例

下面直接上代码 复制代码 代码如下: <?php //date_default_timezone_set("Asia/Shanghai"); /* function create_siteinfo DONE:网站信息表 Author:www.5dkx.com DATE:2010-3-30 表结构: title 网站名 keyword 网站关键词 description 网站描述 */ function create_siteinfo() { global $conn; $sql

jsp-JSP从数据库MySQL取出经纬度数据,怎么能够在百度地图上描绘出轨迹

问题描述 JSP从数据库MySQL取出经纬度数据,怎么能够在百度地图上描绘出轨迹 <%@ page contentType=""text/html; charset=utf-8"" %><%@ page language=""java"" %><%@ page import=""com.mysql.jdbc.Driver"" %><%@ page

数据库异常膨胀-SQLSERVER数据同步过程中,数据库急速,异常膨胀!

问题描述 SQLSERVER数据同步过程中,数据库急速,异常膨胀! 两台服务器A,B上的sqlserver需要同步两个表的数据,B中的某两张表数据要保持和A中的一样,第三方系统会没5分钟想A中插入一些新的数据.这里我采用了快照方式在A中发布要同步的两张表的数据,没两分钟更新一次快照,在服务器B上订阅A发布的数据.数据同步看起来都是没问题的,B中会得到A的新数据,可是一个月不到,B中对应的数据库文件竟然已经从原来的1G多一点的样子达到100+G,几乎要超过磁盘的最大容量,而我看A中的数据库文件大小

点击事件删除所在行,并在数据库删除这条数据

问题描述 点击事件删除所在行,并在数据库删除这条数据 想这个delete点击事件后,能够删除这条数据 解决方案 前台页面的删除,你可以删除元素,也可以删除后重新加载页面,之后删除这条数据么,把id传到后台,delete form where id=? 就可以了,没懂你哪里不会 解决方案二: 这些不都是有系统方法可以实现的吗?有不懂的直接查方法就好! 解决方案三: 我觉得是这样,点击后生成一个sql语句,然后发到数据库,删除记录. 解决方案四: 在事件中,产生一个SQL删除语句,并执行即可. 解决

ibatis 数据库-ibatis如何快速的在千万级以上的数据里检索数据

问题描述 ibatis如何快速的在千万级以上的数据里检索数据 数据库中的数据是千万级以上的,就是一般的操作日志,一共有40种操作类型,其余的都是一些操作时间和操作的描述,用ibatis查询的时候基本不可用,页面检索需要很长很长的时间,请问有什么办法能做到快速的检索吗

PHP 数据库驱动、连接数据不同方式学习笔记

目录   1. PHP数据库驱动简介 2. PHP连接数据库的不同方式      1. PHP数据库驱动简介   驱动是一段设计用来于一种特定类型的数据库服务器进行交互的软件代码.驱动可能会调用一些库.类似于Java中的数据库驱动的概念   复制代码 1. JDBC-ODPC桥: 它将JDBC API映射到ODPC API.再让JDBC-ODPC调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll) 2. 本地API驱动 直接将JDBC API