×

thinkphp3.1批量新增

thinkphp3.1批量新增(thinkphp添加数据)

admin admin 发表于2023-04-06 02:04:08 浏览45 评论0

抢沙发发表评论

本文目录一览:

Thinkphp怎么批量添加数据

?php

class FileAction extends Action {

public function Index()

{

//print_r(__URL__);

$file = M('file');

$list = $file-select();

$this-assign('filelist',$list);

$this-display();

}

public function upload()

{

//文件上传的地址上传给它,并且上传完成后返回一个信息,让其写入数据库

//如果$_FILES为空的画,我就让action给出一个错误提示,告诉用户必须选择上传文件。如果有上传文件,则调用up方法

//$_FILES = $this-_post('file');

//print_r($_FILES);

if (empty($_FILES)) {

$this-error('必须选择上传文件');

}else {

$a = $this-Up();

//print_r($a);

if (isset($a)) {

//写入数据库方法

if($this-c($a)) {

$this-success('上传成功');

}else {

$this-error('写入数据库失败');

}

}else {

$this-error('上传文件有异常请与系统管理员联系');

}

}

}

private function c($data)

{

//print_r($data);

$file=M('file');

$num = '0';

for($i = 0; $i count($data)-1; $i++) {

$data['filename']=$data[$i]['savename'];

if( $file-data($data)-add())

{

$num++;

}

}

if($num==count($data)-1)

{

return true;

}else {

return false;

}

}

// private function c($data)

// {

// $file = M('file');

// $data['filename'] = $data[0]['savename'];

// if ($file-data($data)-add()) {

// return true;

// }else {

// return false;

// }

// }

//在这个方法当中,完成与thinkphp相关的,文件上传类的调用

private function Up()

{

//echo '模拟上传';

//基本上传功能

//批量上传功能

//生成图片缩略图

//自定义参数上传

//上传检测(大小,后缀,mime类型)

//支持覆盖方式上传

//上传类型,附件大小,上传路径定义

//支持hash或者日期子目录保存上传文件

//上传图片的安全性检测

//对上传文件的hash检测

//上传文件名自定义规范

import('@.ORG.UploadFile');

import('@.ORG.Image');

$upload = new UploadFile();

$upload-maxSize = '1000000'; //指上传文件大小,默认为-1,不限制大小(bytes)

$upload-savePath = './Public/'; //上传保存到什么地方?路径建议保存到入口文件平级或平级目录的子目录

$upload-saveRule = 'uniqid'; //上传文件的文件名保存规则 time uniqid(默认) com_create_guid

$upload-hashType = 'md5_file';

$upload-autoCheck = true; //是否自动检测附件 默认true

$upload-uploadReplace = true; //如果存在同名文件是否进行覆盖

$upload-allowExts = array('jpg','jpeg','png','gif'); //允许上传的文件后缀

$upload-allowPath = array('image/png','image/jpg','image/pjpeg','image/gif','image/jpeg'); //检测mime类型-thinkphp3.1批量新增

$upload-thumb = true; // 是否开启图片文件缩略

$upload-thumbMaxWidth = '300,500';//缩略图最大宽度

$upload-thumbMaxHeight = '200,400';//最大高度

$upload-thumbPrefix = 's-,m-';//缩略图文件前缀

//$upload-thumbSuffix = '_s,_m';//文件后缀

//$upload-thumbPath = '';//如果留空直接上传至

//$upload-thumbFile 在数据库中也存一个文件名即可

$upload-thumbRemoveOrigin = 1; //如果生成缩略图,是否删除原图

//$upload-autoSub 是否使用子目录进行保存上传文件

//$upload-subType='' 子目录创建方式默认为hash 也可以为date

//$upload-dateFormat 子目录方式date的指定日期格式

//$upload-hashLevle

//upload() 如果上传成功返回true,失败返回false

if ($upload-upload()) {

$info = $upload-getUploadFileInfo();

return $info;

}else {

//是专门来获取上传的错误信息的

$this-error($upload-getErrorMsg());

}

}

}

?

thinkphp如何同时向数据库插入多条数据?

数据整理好后,批量插入可用addAll方法(仅针对Mysql数据库):

$User-addAll($data);

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

}

thinkphp批量增加会员积分代码怎么写

$num=$_POST['num'];

$model=M();

$result=$model-execute("update user set score=score+$num");

if($result !== false) {

            echo 'success';

        }else{

             echo 'false'

             }

ThinkPHP批量插入数据addAll,如何获得数据的受影响行数!

$result=$user-data($arr)-add();返回值是影响的id号,批量add返回数组,数组长度就是行数