大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本人用ThinkPHP3.2,今天正在开发一个需要分组显示的功能,可是从数据库中把相应数据读取后直接用group分组,结果每组显示的是最老的记录,我的需求是要显示每组的最新记录。在网上大搜一翻后,未果,本人决定自行研究,现将方法记录于此以防遗忘。
创新互联是一家以网络技术公司,为中小企业提供网站维护、成都网站制作、成都网站设计、外贸营销网站建设、网站备案、服务器租用、空间域名、软件开发、微信小程序定制开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站欢迎来电:028-86922220
其实很简单,以供就两步:
第一步:
将符合条件的数据全部取出,暂不用group分组,作为子查询:
[php] view plain copy
$subQuery = $model-field('id,name')-table('tablename')-where($where)-order('time desc')-select(false);
第二部:
利用子查询进行查询分组
[php] view plain copy
$model-table($subQuery.' a')-group('field')-select();span style="font-family: Arial, Helvetica, sans-serif;" /span
好了,思路就是这样。希望对大家有帮助!
需要做以下几步:
1、连接数据库
2、执行查询语句
3、输出查询结果
?php
$con=mysql_connect("localhost","root","123456") or die("数据库连接失败");
mysql_select_db("数据表名");
$sql="查询语句";
$result=mysql_query($sql);
while($rs=mysql_fetch_row($result)){
var_dump($rs)."br";
}
?
你把上面的内容替换成你自己的就可以输出结果了
这种情况只能写SQL语句,不能用框架中带的。
select a.*,b.* from tb_hotel_info as a left join tb_house_info as b on a.hotel_id=b.id where a.price order by desc
为什么问问题都是一大段代码贴上来。。。。。这样叫人怎么看。。。
查询最新的三条数据可以按时间排列。。没有时间的话如果ID是自增的话按ID排列 order by id desc 倒序排列 limit 1,3取出前3个。就是你要的了。
?php do { ?
tr
td width="799"a href=";;tid=?php echo $row_Recordset1['tid']; ?extra=page%3D1"?php echo $row_Recordset1['subject']; ?/a/td
td width="181"?php echo $row_Recordset1['author']; ?/td
/tr
?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?
这段就是显示的代码。
你想以什么样式显示呢???
这只是显示作者和标题的,有何样式可言??难道弄不同的颜色??弄成斜体??还是粗体???
这有意义嘛。。。。。。
设你的存储字段名为 your_column
其实很简单,如果你的存放时间的字段是datetime
直接
where your_column'".date('Y-m-d',time())." 00:00:00';就好了
如果使用的unix时间戳,用整数存储的
就这样
$day_begin=strtotime(date('Y-m-d',time()));
然后
where your_column".$day_begin." 就好了
利用自增字段,把要查询的数据表的id设置为自增。查询数据时,order by id desc,取第一条就是最新的。
利用时间,要查询的数据表中增加时间字段,查询时,order by time desc,取第一条就是最新的。