tp5多表联合查询及带分页显示

本文介绍了如何在TP5框架中进行多表联合查询并实现分页显示。首先,通过使用`join`方法以主表`article`(别名a)连接`art_category`(别名c),根据id匹配条件。接着,指定`field`查询所需字段,并添加`where`条件进行筛选。然后,利用`order`方法排序查询结果,并设置每页展示3条记录的分页功能。最后,将查询到的数据输出并展示分页效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.

以主表article查询,起别名a,,联合表art_category,起别名c,条件是id等同,用join

field查询需要的字段,

where条件查询

order排序差

分页3个一页

 // 多表联合查询
        $data = Db::name('article')
            ->alias('a')
            ->join('art_category c','a.category_id = c.category_id')
            ->field('a.art_id,a.imageurl,a.title,a.art_desc,a.category_pid,a.create_time,c.category_id,c.category_name')
            ->where('a.status',1)
            ->order('a.art_id','desc')
            ->paginate(3);



//多表联合查询-内连接

$articleList = Db::name("tp_art_rela_category")
            ->alias("arc")
            ->join('tp_article a','a.art_id = arc.art_id','inner')
            ->where('arc.category_id',$category_id)
            ->select();

2.

$page = $data->render();
        //输出数据
        $this -> assign('data',$data);
         //输出分页
        $this -> assign('page',$page);
        
        return $this->fetch();

3.数据输出

<div class="item-box-rt flex" style="">
	<div class="item-content">
		<a class="item-title" href="{:url('detail/detail',['type'=>99,'id'=>$vo['art_id']])}">{$vo.title}</a>
		<div class="sm-hidden md-hidden item-desc">
	<a href="{:url('detail/detail',['type'=>99,'id'=>$vo['art_id']])}">{$vo.art_desc}</a>
		</div>
		</div>
	<div class="item-info flex text-overflow">
									<p>
										<i class="fa {switch name='$vo.category_pid'}
											{case value='1'}fa-jsfiddle{/case}
											{case value='4'}fa-download{/case}
											{default /}fa-download
										{/switch}" 
										style="font-size: 1.2rem;color:#e2712c;" aria-hidden="true" 
										></i>{$vo.category_pid}/
										<span>{switch name='$vo.category_pid'}
											{case value='1'}vv{/case}
											{case value='4'}44{/case}
											{default /}其他
										{/switch}</span>
										 -id:{$vo.category_id}
									</p>
									<p><i class="fa fa-clock-o" aria-hidden="true"></i>
										{$vo.create_time|date="Y-m-d",###}
									</p>
									<p><i class="fa fa-heart-o" aria-hidden="true"></i>321</p>
									<p><i class="fa fa-download" aria-hidden="true"></i><a href="#">下载 </a></p>
								</div>
							</div>

 

4.html显示分页

<div class="pagination-box">{$page}</div>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值