thinkphp批量更新数据可以参考如下三种方法:
创新互联建站是专业的通许网站建设公司,通许接单;提供成都网站设计、网站制作、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行通许网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
方法一:
//批量修改 data二维数组 field关键字段 参考ci 批量修改函数 传参方式
function batch_update($table_name='',$data=array(),$field=''){
if(!$table_name||!$data||!$field){
return false;
}else{
$sql='UPDATE '.$table_name;
}
$con=array();
$con_sql=array();
$fields=array();
foreach ($data as $key = $value) {
$x=0;
foreach ($value as $k = $v) {
if($k!=$field!$con[$x]$x==0){
$con[$x]=" set {$k} = (CASE {$field} ";
}elseif($k!=$field!$con[$x]$x0){
$con[$x]=" {$k} = (CASE {$field} ";
}
if($k!=$field){
$temp=$value[$field];
$con_sql[$x].= " WHEN '{$temp}' THEN '{$v}' ";
$x++;
}
}
$temp=$value[$field];
if(!in_array($temp,$fields)){
$fields[]=$temp;
}
}
$num=count($con)-1;
foreach ($con as $key = $value) {
foreach ($con_sql as $k = $v) {
if($k==$key$key$num){
$sql.=$value.$v.' end),';
}elseif($k==$key$key==$num){
$sql.=$value.$v.' end)';
}
}
}
$str=implode(',',$fields);
$sql.=" where {$field} in({$str})";
$res=M($table_name)-execute($sql);
return $res;
}
//测试
function test(){
$update_array=array();
for ($i=2; $i 7 ; $i++) {
$data=array();
$data['id']=$i;
$data['memeber_type']=2;
$data['memeber_type_state']=1;
$update_array[]=$data;
}
$res=$this-batch_update('yl_member',$update_array,id);
var_dump($res);
}
1、首先我们准备一个含有数据的Excel表格,表头和数据表中的表字段相对应。
2、在ThinkPHP中引入PHPExcel类库。
3、然后我们编写导入的PHP代码。
4、然后我们编写导出的PHP代码。
5、然后我们进行导出测试发现可以导出即可。
在HTML里这样写:
1
2
3
4
5
6
form ........
input type="text" name="haoma[]" /
input type="text" name="haoma[]" /
input type="text" name="haoma[]" /
....
第N个
foreach($_POST['haoma'] as $v){
$sql="insert into haoma values('',$v)";
.......
}
当然这样写一条一条的效率是会慢,再改一下
foreach($_POST['haoma'] as $v){
$values.="('',$v),";
}
$values=substr($values,0,strlen($values)-1);
$sql="insert into haoma values $values";
......
下面的query我就不写了