[thinkPHP5项目实战_26]前台文章关键词搜索
来源:互联网 发布:淘宝运营课程表及费用 编辑:程序博客网 时间:2024/04/30 23:10
每篇文章下面展示有关键词,点击关键词可以查询该栏目下的所有具有该关键词的文章;
点击关键词,需要将该关键词当做参数传值tahs控制器进行联表查询;
在index模块下新建控制器Tags.php:
<?phpnamespace app\index\controller;class Tags extends Basic{ public function index() { $tags=input('tags');//获取传过来的关键词 $map=['a.keywords' => ['like','%'.$tags.'%']];//拼接查询关键词的语句 //联表查询article表中所有与用户搜索相同的关键词的该栏目下的文章,,2篇文章为一页;按照文章的artid进行排序 $artres= \think\Db::name('article')->alias('a')->join('cate c','c.ID = a.cateid','LEFT')->field('a.artid,a.title,a.pic,a.time,a.desc,a.click,a.keywords,c.catename')->order('a.artid desc')->where($map)->paginate(2); $this->assign('artres',$artres); return $this->fetch('tags');//返回模板tags.html }}
查询到的文章需要展示到对应的模板上;
新建视图文件Tags/tags.html:
与Lists/lists.html代码一样,拷贝即可
<body>{include file="Public/header" /} <div class="container"> <div class="row"> <div class="col-sm-8 blog-main"> {volist name="artres" id="vo"} <div class="post multi-post cate2 auth1"> <h4 class="post-date">{$vo.time|date="Y年m月d日",###}</h4> <h2 class="post-title"><a href="{:url('Article/index',array('artid'=>$vo['artid']))}">{$vo.title}</a></h2> <div class="post-body"><p>{$vo.desc}</p> {if condition="$vo['pic'] neq ''"} <p style="text-indent: 0em;"><a title="2016年就一个字:戒!" target="_self" href="{:url('Article/index',array('artid'=>$vo['artid']))}"><img src="__PUBLIC__{$vo.pic}" title="你我网" alt="你我网"/></a></p> {/if} </div> <h5 class="post-tags">Tags: <span class="tags"> <?php $arr=explode(',', $vo['keywords']); foreach ($arr as $k => $v) { echo "<a href='http://localhost/test/tp5/Public/index.php/index/Tags/index/tags/$v'>$v</a>"; echo ' '; } ?> </span></h5> <h6 class="post-footer"> 发布:渣渣 | 分类:{$vo.catename} | 评论:666 | 浏览:{$vo.click} | <a href="{:url('Article/index',array('artid'=>$vo['artid']))}">阅读全文 > </a> </h6> </div> {/volist} <div class="post pagebar">{$artres->render()}</div> </div> {include file="Public/sidebar"} </div> </div> {include file="Public/footer" /}</body>
效果:
阅读全文
0 0
- [thinkPHP5项目实战_26]前台文章关键词搜索
- [thinkPHP5项目实战_29]前台首页和文章搜索功能完善
- [thinkPHP5项目实战_25]前台文章列表展示
- [thinkPHP5项目实战_28]前台文章"相关文章"的功能完善
- [thinkPHP5项目实战_06]引入前台页面
- [thinkPHP5项目实战_27]前台文章内容展示
- [thinkPHP5项目实战_16]文章列表展示
- [thinkPHP5项目实战_17]文章编辑
- [thinkPHP5项目实战_24]前台页面导航栏目调用
- [thinkPHP5项目实战_12]文章管理界面创建
- [thinkPHP5项目实战_13]新增文章界面附件上传
- [thinkPHP5项目实战_15]创建文章读取栏目列表
- thinkphp5实战系列(二)前台模板的引入
- [thinkPHP5项目实战_11]栏目修改
- [thinkPHP5项目实战_14]场景验证
- [thinkPHP5项目实战_19]模型添加数据
- [thinkPHP5项目实战_20]友情链接功能完善
- [thinkPHP5项目实战_22]管理员登录
- SpringMvc之入门案例-yellowcong
- 从零开始前端学习[49]:js函数的初步认识
- vector和list的使用及其模拟实现
- bootstrap之media&close&well样式
- 求100~200间的素数
- [thinkPHP5项目实战_26]前台文章关键词搜索
- [日志]es的增删改查
- SQL语句执行顺序
- Mybatis学习笔记(十九)【mybatis逆向工程】
- Android事件传递机制详解
- Qt中mouseMoveEvent在MainWindow中使用
- log4j2.xml基础学习
- 1021. 个位数统计 (15)
- 6.5