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'));
分类: 电脑/网络 程序设计 其他编程语言
问题描述:
将数据库的数据查询到嵌入在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 '数据库连接失败!
觉得你可以做这样一个界面:
一个列表,每行前有一个复选框,让用户选中要修改的记录
点击提交后,将用户所选的内容以文本框的形势显示,如一页不够,可分页。
当用户修改结束后,统一保存
楼主贴出的代码是主要代码不是完整代码,以下是对你贴出代码的修改,接收数组并批量更新
接收数据格式形如:
array(
0=array(
'id' = 1,
'title'= '标题1'
'url'= '...'
),
1=array(
'id' = 1,
'title'= '标题1'
'url'= '...'
),
)
注意在原来的基础上加了更新条件id,不加的话是会更新全部的。
A页面代码:
?php
$exec="select * from focusimg";
$result = mysql_query($exec,$link);
$i=0;
while($pt=mysql_fetch_array($result)){
?
tr onmouseover="this.className='admTr'" onmouseout="this.className=''"
td width="17%" align="right"标题?php echo $pt['id']; ?:input name="?php echo "focusimg[$i][id]"; ?" value="?php echo $pt['id']; ?" type="hidden"//td
tdinput name="?php echo "focusimg[$i][title]"; ?" type="text" id="textfield" value="?php echo $pt['title'];?" size="30" //td
td width="17%" align="right"链接?php echo $pt['id']; ?:/td
tdinput name="?php echo "focusimg[$i][url]"; ?" type="text" id="textfield" value="?php echo $pt['url'];?" size="30" / /td
/tr
?php
$i++;
};
?
B页面代码:
?php
include 'conn.php';
$focusimg=$_POST['focusimg'];
foreach($focusimg as $k=$v) {
$exec="update chips set title='{$v[title]}',url='{$v[url]}' where id='{$v[id]}'";
mysql_query($exec, $link);
}
mysql_close($link);
echo "edit OK!";
?