重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
分类: 电脑/网络 程序设计 其他编程语言
公司主营业务:成都做网站、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出象山免费做网站回馈大家。
问题描述:
将数据库的数据查询到嵌入在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 '数据库连接失败!
觉得你可以做这样一个界面:
一个列表,每行前有一个复选框,让用户选中要修改的记录
点击提交后,将用户所选的内容以文本框的形势显示,如一页不够,可分页。
当用户修改结束后,统一保存
另一个思路你试试:
html:
input type="text" name="A[]" /
input type="text" name="B[]" /
input type="hidden" name="ids[]" value="{$id}" /
php:
?php
$a = $_POST['A'];
$b = $_POST['B'];
$ids = $_POST['ids'];
foreach($a as $k = $v) {
$sql = "update abc set a='{$v}', b='{$b[$k]}' where id='{$ids[$k]}'";
mysql_query($sql);
}
1、用phpMyAdmin打开要修改前缀的数据库www_sdck_cn,执行以下SQL语句(其中加粗斜体字是需要根据实际需求替换的):
SelectCONCAT('ALTERTABLE',table_name,'RENAMETO',
replace(table_name,'phpcms_','sdck_'),';')
frominformation_schema.tables
whereTABLE_SCHEMA='www_sdck_cn'andtable_nameLIKE'phpcms_%';
2、在执行SQL语句生成的页面上点击“导出”,选择“自定义”-“直接显示为文本”,CSV格式,清空“内容分隔符”为空。
3、执行导出功能后,到达结果窗口如下,复制文本框中的内容。
4、进入数据库“www_sdck_cn”的SQL执行窗口,将代码粘贴到SQL文本框中,执行。看一下相关数据表是不是已经修改完成了。
function updatecols($table,$arr){
$sql = "update ".$table." set ";
$total = count($arr);
$i=1;
foreach($arr as $k=$v){
$sql .= $k."=".$v;
if($i$total){
$sql .= ",";
}
$i++;
}
return $sql;
}
echo updatecols("table1",array('col1'='123','col2'='345'));