php实现refresh刷新页面批量导入数据的方法
本文将为您揭示PHP如何实现通过refresh刷新页面来批量导入数据的方法。灵感来源于dedecms批量生成html页面的策略,不过我们将采用refresh代替js跳转来实现这一功能,具有极高的实用价值。对此感兴趣的朋友们,不妨参考下面的方法。
要完成此功能,首先需要理解我们的策略是分段处理数据,每次处理一部分,然后通过刷新页面来处理下一部分数据。这种方式的实现,借鉴了dedecms生成html页面的思路。
因为一次导入大量数据(比如1000W条)可能会导致数据库压力过大,所以我们选择分批导入,例如每次导入50条数据。每次处理完数据后,页面会自动刷新,并导入下一批数据。具体的PHP代码如下:
```php
// 设置脚本运行时间无限制
set_time_limit(0);
// 连接数据库
$s = isset($_GET['s']) ? $_GET['s'] : 0; // 获取开始位置参数,默认为0
$e = isset($_GET['e']) ? $_GET['e'] : 50; // 获取结束位置参数,默认为50
$count = 85000; // 数据总量
if ($s < $count) {
$sql = "SELECT FROM bac_info WHERE isget = 0 ORDER BY id DESC LIMIT $s, $e"; // 查询需要处理的数据
$query = mysql_query($sql);
while ($rs = mysql_fetch_array($query)) {
$id = $rs['id'];
$sms = $rs['sms'];
$typeid = $rs['typeid'];
$isget = $rs['isget'];
$sql = "INSERT INTO bac_info_bak (id, sms, typeid, isget) VALUES ('$id', '$sms', '$typeid', '$isget')";
mysql_query($sql);
echo $sql;
// 更新原表状态
$sqlu = "UPDATE bac_info SET isget=1 WHERE id =".$rs['id'];
mysql_query($sqlu);
}
// 页面刷新,继续处理下一批数据
echo '正在处理数据,当前为'.$s.'条......';
} else {
// 数据处理完成,提示并提供重新排序的链接
echo '完成所有数据处理 再随机排序一次';
}
?>
```
本文所述方法有助于您有效处理大量数据的导入工作。在分批处理数据时,不仅降低了数据库的压力,而且通过页面刷新实现了数据的逐步导入。希望本文能对您的PHP程序设计工作带来帮助。
编程语言
- php实现refresh刷新页面批量导入数据的方法
- msxml3.dll 错误 800c0005 解决方案
- vue+canvas实现炫酷时钟效果的倒计时插件(已发布
- PHP中echo和print的区别
- ThinkPHP3.2.3框架实现的空模块、空控制器、空操作
- jQuery菜单插件superfish使用指南
- javascript中callee与caller的区别分析
- 正则 捕获组(capture group)
- js基于cookie方式记住返回页面用法示例
- MySQL 5.7.17 免安装版本的安装配置
- 详解微信小程序开发之——wx.showToast(OBJECT)的使用
- php过滤表单提交的html等危险代码
- php实现最简单的MVC框架实例教程
- PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
- Javascript实现从小到大的数组转换成二叉搜索树
- PHP使用memcache缓存技术提高响应速度的方法