php批量修改数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php批量修改数据相关的知识,希望对你有一定的参考价值。

比如mysql查询出10条数据,
1 a
2 b
3 c

我现在要修改他们,可以修改a 也可以修改b 也可以修改c,同时修改,不是直接set这个字段等于相同的值,我是要每个字段都可以修改成不同,一次性提交

参考技术A 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'));
参考技术B 查询结果是个数组
数组数值会改吧
改完后执行一次updata不就好了...追问

就是form表单提交过去不会,我的方法只能提交最后一个ID,不能都提交过去,望指点...

追答

输出表单不说
表单提交只要把要修改后的字段名和数值传给处理页面
处理页面查询到结果后生成数组
接受传来的值
修改结果数组然后updata就好了

追问


=2";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))

echo "";

?>

这是我的提交表单,处理页面应该的处理方法应该如何写,

追答

最好传值连数据库中的id一起传 方便定位修改

追问

嗯,ID我懂,我传过去看,就只看到最后的一条,前面的没有,就没有办法处理,可否帮谢谢处理页面

追答

怎么可能post过去三个同名不同值的东西捏...同名要区分 不然怎么request....

本回答被提问者采纳

PHP 批量修改多条记录的Sql语句写法

数据库是mysql;字段分别为id ,a ,b 如图1;前台显示如图2,a和b的值分别循环显示在input中,可编辑;图3是部分代码,我给input的name设定成了a或者b加id,以便于区分每个input;图4那里我应该怎么写update的sql语句,才能同时提交修改多条记录的内容;实际记录数量不止四条。求好心人帮写一个完整的update部分的demo;同时也请复制粘贴帝们手下留情,知道问题推送机会不多,有了回答就会停止推送,求原创好心人

参考技术A

另一个思路你试试:

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);
    

本回答被提问者采纳

以上是关于php批量修改数据的主要内容,如果未能解决你的问题,请参考以下文章

PHP 批量修改多条记录的Sql语句写法

php 批量修改mysql 数据表,字段 字符集编码

MYSQL批量插入语句怎么写

PHP+MySql+Bootstrap实现用户界面数据的删除修改与批量选择删除——实例操作

php 批量修改文件格式或重命名

php批量修改数组键名的方法