所以在导出大量数据的时候就应该分页查询数据,避免服务器宕机。正好PHP提供了fputcsv函数可以将数据写入到csv文件中。
这样我们就可以使用PHP对数据进行分页查询,再写入到csv文件中。
下面是我写的一个PHP导出数据到CSV问价的函数,你到时候直接调用就行了
/*** 导出CSV文件
* @param string $fileName 文件名字
* @param string|array $data 导出数据,csv格式的字符串|数值数组
* @param string $to_encoding 目标转换编码
* @param string $from_encoding 当前编码
*/
function exportCSV($fileName = '', $data = '', $to_encoding = 'gb2312', $from_encoding = 'utf-8') {
$fileName = empty($fileName) ? date('YmdHis') : $fileName
// 文件标签
Header("Content-type: application/octet-stream")
header("Content-type: application/vnd.ms-excel charset=$from_encoding")
Header("Content-Disposition: attachment filename=$fileName.csv")
$str = ''
if($data) {
if(is_array($data)) {
foreach ($data as $v) {
if(is_array($v)) {
foreach ($v as $vo) {
$str .= (is_numeric($vo) ? "'".$vo : $vo."").","
}
$str = trim($str, ",")."\r\n"
} else {
$str .= (is_numeric($v) ? "'".$v : $v).","
}
}
$str = trim($str, ",")."\r\n"
} else {
$str = $data
}
}
echo mb_convert_encoding($str, "gb2312", "utf-8")
exit
}
分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
将数据库的数据查询到嵌入在PHP中的EXCEL里面.实现多条纪录的修改.
数据库里面有几万条数据,每天要修改几百条,一条一条修改很麻烦,怎样能够,实现上面说的这种功能,然后可以批量修改.
解析:
可以选择一些相关的,然后统一批量改
SQL Server 中直接可以把excel文件加载进来当作表处理。
使用Sql脚本怎么处理都可以了。
其他数据库,那还有写处理excel的代码
你的数据在EXCEL里面,需要用PHP程序去修改它,因为你的机器上有WEB,你希望远程 *** 作,对吗?
其实不难,你在ODBC里面建立一个数据源,指向你的EXCEL文件,PHP写程序用SQL *** 作ODBC数据源是很简单的,例子:
<?PHP
$id=odbc_connect("ODBC数据源名称","用户名","密码")
if ($id!=0){
$max_display_rec=500
$query_str="任意的SQL语句"
$qu=odbc_exec($id,$query_str)
if ($qu) echo "执行 $query_str 成功!"
else echo "执行 $query_str 失败!"
} else echo '数据库连接失败!
觉得你可以做这样一个界面:
一个列表,每行前有一个复选框,让用户选中要修改的记录
点击提交后,将用户所选的内容以文本框的形势显示,如一页不够,可分页。
当用户修改结束后,统一保存
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)