当前位置:Gxlcms > css > Yii实现文章列表置顶功能示例

Yii实现文章列表置顶功能示例

时间:2021-07-01 10:21:17 帮助过:25人阅读

本文实例讲述了Yii实现文章列表置顶功能的方法。分享给大家供大家参考,具体如下:

我的理解:首先点击获取当前ID,model层查询所有sort字段,遍历数据,得到最大值,修改数据,替换数据,即可。

效果图:

080742450.jpg

模型层:

  1. //显示列表
  2. public function lists1()
  3. {
  4. $arr=Yii::$app->db->createCommand("select * from acticle join type on type.t_id=acticle.t_id order by sort desc")->queryall();
  5. return $arr;
  6. }
  7. //置顶
  8. public function top(){
  9. $arr=$this::find()->select("sort")->asArray()->all();
  10. //print_r($arr);die;
  11. $rows=array();
  12. foreach($arr as $key=>$v)
  13. {
  14. $rows[]=$v['sort'];
  15. }
  16. $max=array_search(max($rows),$rows);
  17. return intval($rows[$max]+1);
  18. }
  19. //修改数据
  20. public function update1($sort,$acticle_id){
  21. $arr=Yii::$app->db->createCommand()->update("acticle",['sort'=>$sort],['acticle_id'=>$acticle_id]);
  22. if($arr->execute()){
  23. return 1;
  24. }else{
  25. return 2;
  26. }
  27. }

控制器:

  1. //文章置顶
  2. public function actionTopq(){
  3. $acticle_id=$_GET['id'];
  4. //echo $acticle_id;die;
  5. //获取最大sort
  6. $model=new Acticle();
  7. $sort=$model->top();
  8. //修改数据
  9. $row=$model->update1($sort,$acticle_id);
  10. //echo $row;die;
  11. if($row==1){
  12. //替换数据,置顶
  13. $res1=$model->lists1();
  14. $art=new Articles();
  15. $res6=$art->get_right($res1,5);
  16. return $res6;
  17. }else{
  18. return false;
  19. }
  20. }

视图层:

  1. <!-- 文章列表 -->
  2. <div class="r_230_b ma_b8" style="float:right;right:0;line">
  3. <div class="news_t" ><h2><font color="#d52c99">最新动态</font></h2></div>
  4. <?php echo $res6;?>
  5. </div>
  6. <script>
  7. function topq(ts){
  8. $.get("index.php?r=index/topq",{id:ts},function(msg){
  9. $('#sort').html(msg);
  10. //alert(msg);
  11. })
  12. }
  13. </script>

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。感谢对PHP中文网的支持。

人气教程排行