thinkphp 怎么获取多天最后一条记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 怎么获取多天最后一条记录相关的知识,希望对你有一定的参考价值。

thinkphp 在数据库里获取连续7天的记录,每天有很多条,但我只要每天的最后一条记录,怎么获取。希望得到的结果是:返回7条记录,每条是当天的最后一条数据。

参考技术A 谁能理解你想表达什么?请教别人问题,好歹数据表罗列清楚,
thinkphp 也有3.X 和5.X,版本不同,语法也不同本回答被提问者和网友采纳

thinkphp5.0中往表中添加多条记录,怎么获取到所有添加的ID?

$file = explode(",",$_POST['file']);
//var_dump($file);exit;
$file2 = array_filter($file);
foreach ($file2 as $v)
$insert = Db::execute('insert into files(file) value ("'.$v.'")');


怎么获取到$insert的所有值(只返回了一个ID)
var_dump($insert);exit;
使用的是tp5框架(5.0.5)的

你好,用sql语句是不可能实现的,我们可以通过事务来实现,也就是说,SqlCommand的CmdText属性在一个方法当中可以赋多个SQL语句 SqlConnection sqlConnection = new SqlConnection(); ...初始化连接 // 开启事务 SqlTransaction sqlTransaction = sqlConnection.BeginTransaction(); // 将事务应用于Command SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = sqlConnection; sqlCommand.Transaction = sqlTransaction; sqlCommand.CmdText=第一个sql语句 sqlCommand.ExcuteNoneQuery(); sqlCommand.CmdText=第二个sql语句 sqlCommand.ExcuteNoneQuert(); try // 利用sqlcommand进行数据操作 ... // 成功提交 sqlTransaction.Commit(); catch(Exception ex) // 出错回滚 sqlTransaction.Rollback(); 如果在执行第二次SQL语句是出错了,那么就会到Catch异常中,执行回滚,那么第一次执行的也同样回滚了,所以必须2个都一行成功才往数据库中提交这里是用了2次SQL语句,如果你想用1个语句同时操控2个表的话,就要用到存储过程或者是触发器,存储过程和触发器追问

大佬您好!请问使用tp5框架也是那样写吗?

参考技术A $insert[]=这样,然后就可以得到全部的插入id了追问

试过,报错了

追答

在foreach外面先定义一下这个变量就不会报错了

追问

大佬您好!这样的话,返回的是 1 呀!

追答

那换个方法,有个方法是可以获取写入的id,每个框架不一样,原生的好像是getinsertid什么的,具体你查下

追问

大佬getinsertid这个只能获取到一个,我想获取到所有的id。比如添加了4条数据,然后查出4条数据的id,这样可以实现吗?

本回答被提问者采纳
参考技术B 问下楼主怎么解决的 我也遇到这个问题了

以上是关于thinkphp 怎么获取多天最后一条记录的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp 怎样获取每个id下的一条记录

thinkphp获得最后一条插入记录ID

thinkphp5.0中往表中添加多条记录,怎么获取到所有添加的ID?

如何获取mysql中最后一条之前的最后一条记录?

thinkphp3.1怎么随机取数据库中几条记录

如何使用聚合函数在 MySQL 查询中获取分组记录的第一条和最后一条记录?