二维数组更新数据php 二维数组修改数据
Thinkphp怎么批量更新数据
thinkphp批量更新数据可以参考如下三种方法:
创新互联专注于惠安网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供惠安营销型网站建设,惠安网站制作、惠安网页设计、惠安网站官网定制、小程序开发服务,打造惠安网络公司原创品牌,更为您提供惠安网站排名全网营销落地服务。
方法一:
//批量修改 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);
}
PHP中如何更新大量的mysql数据
sql= "UPDATE mydata SET p1='".$pointarr[i][1]."' where ps like '%".$pointarr[i][
每次都去做一次like的全表扫描当然慢了。
建议使用批量更新,减少查询次数。
比如先查询出结果集,然后在内存里去操作字段更新
最后采用 update ...... where id = xxx 这样的更新方法。避免多次全表扫描。
不是最了解你的需求,仅供参考。
php怎样数据库行循环生成二维数组并替换其中的值再生成新的二维数组
select *,DATE_FORMAT(add_time,'%Y-%m-%d') as add_date from donku_articles
把sql语句改成上面这种,另外最好不要用fetch_row这种索引方式取值,可以用fetch_assoc这种关联的方式,
另外你的这个 貌似在while里面用不到foreach,,smarty引擎我没用过,按理说它的赋值 应该也不用while一个一个赋值,把$smarty-assign('art_recommend_row',$new_result);这个赋值拿到循环外面(smarty没用过,按照thinkphp yii2 这些框架来说 赋值给模板不需要放在循环里面),我按照我的想法把你的改了一下
include('includes/init.php');
$sql="SELECT *,DATE_FORMAT(add_time,'%Y-%m-%d') as add_date FROM `donku_articles`";
$query=$mysql-query($sql);
$result=[];
while($row=$mysql-fetch_assoc($query)){//这里应该是关联的形式,从你的fetch_row我猜是应该是fetch_assoc
$result[]=$row;
}
//下面是赋值给模板
$smarty-assign('art_recommend_row',$result);
文章标题:二维数组更新数据php 二维数组修改数据
标题路径:http://myzitong.com/article/dosdspo.html