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

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

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

效果图:

模型层:

//显示列表
public function lists1()
{
    $arr=Yii::$app->db->createCommand("select * from acticle join type on type.t_id=acticle.t_id order by sort desc")->queryall();
    return $arr;
}
//置顶
public function top(){
    $arr=$this::find()->select("sort")->asArray()->all();
    //print_r($arr);die;
    $rows=array();
    foreach($arr as $key=>$v)
    {
      $rows[]=$v['sort'];
    }
    $max=array_search(max($rows),$rows);
    return intval($rows[$max]+1);
  }
  //修改数据
  public function update1($sort,$acticle_id){
    $arr=Yii::$app->db->createCommand()->update("acticle",['sort'=>$sort],['acticle_id'=>$acticle_id]);
    if($arr->execute()){
      return 1;
    }else{
      return 2;
    }
}

控制器:

//文章置顶
public function actionTopq(){
    $acticle_id=$_GET['id'];
    //echo $acticle_id;die;
    //获取最大sort
    $model=new Acticle();
    $sort=$model->top();
    //修改数据
    $row=$model->update1($sort,$acticle_id);
    //echo $row;die;
    if($row==1){
      //替换数据,置顶
      $res1=$model->lists1();
      $art=new Articles();
      $res6=$art->get_right($res1,5);
      return $res6;
    }else{
    return false;
    }
}

视图层:

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

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

(0)

相关推荐

  • yii2.0使用Plupload实现带缩放功能的多图上传

    本文讲解了plupload的相关代码,实现了ajax多图同时上传,然后将图片进行缩放,最后显示图片,分享给大家供大家参考,具体内容如下 1.文章视图中调用Plupload <?= \common\widgets\Plupload::widget([ 'model'=>$model, 'attribute'=>'cover_img', 'url'=>'/file/upload',//处理文件上传控制器 ])?> 2.\common\widgets\Plupload 组件 <

  • yii2.0实现验证用户名与邮箱功能

    本文为大家分享了yii2.0实现验证用户名与邮箱功能的相关代码,具体内容如下 视图signup.php代码: <?php use yii\helpers\Html; use yii\bootstrap\ActiveForm; /* @var $this yii\web\View */ /* @var $form yii\bootstrap\ActiveForm */ /* @var $model \frontend\models\SignupForm */ $this->title = '注册

  • Yii实现单用户博客系统文章详情页插入评论表单的方法

    本文实例讲述了Yii实现单用户博客系统文章详情页插入评论表单的方法.分享给大家供大家参考,具体如下: action部分: <?php function test($objs) { $objs->var=10; } class one { public $var=1; } $obj=new one(); echo $obj->var.'<p>'; test($obj); echo $obj->var; exit; PostController.php页面: ... /**

  • PHP 基于Yii框架中使用smarty模板的方法详解

    第一种方法按照YII系统的办法生成视图觉得有点麻烦,觉得用smarty更省事.尝试着把smarty模板加进来了. 复制代码 代码如下: date_default_timezone_set("PRC");class PlaceController extends CController {protected $_smarty;function __construct(){parent::__construct('place');//需要一个参数来调用父类的构造函数,该参数为控制器ID$p

  • Yii2使用dropdownlist实现地区三级联动功能的方法

    本文实例讲述了Yii2使用dropdownlist实现地区三级联动功能的方法.分享给大家供大家参考,具体如下: 视图部分: <?php use yii\helpers\Url; use yii\widgets\ActiveForm; use yii\helpers\ArrayHelper; use yii\helpers\Html; /* @var $this yii\web\View */ /* @var $model common\search\service\ItemSearch */ /

  • Yii框架结合sphinx,Ajax实现搜索分页功能示例

    本文实例讲述了Yii框架结合sphinx,Ajax实现搜索分页功能的方法.分享给大家供大家参考,具体如下: 效果图: 控制器: <?php namespace backend\controllers; use Yii; use yii\web\Controller; use yii\data\Pagination; use SphinxClient; use yii\db\Query; use yii\widgets\LinkPager; use backend\models\Goods; cl

  • Yii2实现让关联字段支持搜索功能的方法

    本文实例讲述了Yii2实现让关联字段支持搜索功能的方法.分享给大家供大家参考,具体如下: 这里有两张表,表结构如下,companies_compay_id 为外键 yii2advanced.branches表: branch_id:int(11) companies_company_id:int(11) branch_name:varchar(100) branch_address:varchar(255) branch_created_date:datetime branch_status:e

  • Yii框架form表单用法实例

    本文实例讲述了Yii框架form表单用法.分享给大家供大家参考.具体方法如下: 使用表单 在 Yii 中处理表单时,通常需要以下步骤: 1. 创建用于表现所要收集数据字段的模型类. 2. 创建一个控制器动作,响应表单提交. 3. 在视图脚本中创建与控制器动作相关的表单. 一.创建模型 在编写表单所需的 HTML 代码之前,我们应该先确定来自最终用户输入的数据的类型,以及这些数据应符合什么样的规则.模型类可用于记录这些信息.正如模型章节所定义的,模型是保存用户输入和验证这些输入的中心位置. 取决于

  • 详细解读PHP的Yii框架中登陆功能的实现

    Yii的登陆机制 Yii 生成应用时已经提供了最基础的用户登陆机制.我们用 Yii 生成一个新的应用,进入 protected/components 目录,我们可以看到 UserIdentity.php 文件,里面的 UserIdentity 类里面只有一个 public 函数如下: public function authenticate() { $users=array( // username => password 'demo'=>'demo', 'admin'=>'admin'

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

    本文实例讲述了Yii实现文章列表置顶功能的方法.分享给大家供大家参考,具体如下: 我的理解:首先点击获取当前ID,model层查询所有sort字段,遍历数据,得到最大值,修改数据,替换数据,即可. 效果图: 模型层: //显示列表 public function lists1() { $arr=Yii::$app->db->createCommand("select * from acticle join type on type.t_id=acticle.t_id order by

  • php实现文章置顶功能的方法

    本文实例讲述了php实现文章置顶功能的方法.分享给大家供大家参考,具体如下: 昨天客户让做文章置顶的功能.自己以前没做过.靠着同事的指点才做了出来.本来挺简单的事情,被自己搞了好久.自己真的缺乏对程序的理解.还是写篇博客记录一下吧. 第一步,在文章表里面建两个字段,用于做置顶功能.一个是top字段,timestamp类型,默认选"定义",用于存储置顶操作的时间;还有一个flag字段,int类型,用于判断是否置顶,置顶为1,否则为0.. 第二步,模板页面修改.列表选项里面加置顶列,下面对

  • mysql实现根据多个字段查找和置顶功能

    mysql根据多个字段查找 在mysql中,如果要实现根据某个字段排序的时候,可以使用下面的SQL语句 SELECT * FROM 'TABLE_NAME' ORDER BY 'Field' 然而,如果要实现根据某个字段排序后再根据另一个字段排序的时候应该如何呢?可以使用下面的SQL语句 SELECT * FROM 'TABLE_NAME' ORDER BY FIELD1, FIELD2; 如果要加上排序的话 SELECT * FROM 'TABLE_NAME; ORDER BY FIELD1

  • Android开发实现仿QQ消息SwipeMenuListView滑动删除置顶功能【附源码下载】

    本文实例讲述了Android开发实现仿QQ消息SwipeMenuListView滑动删除置顶功能.分享给大家供大家参考,具体如下: 一.先来效果图 二.实现步骤: 1. 在项目build.gradle里面添加包 compile 'com.baoyz.swipemenulistview:library:1.3.0' 2. xml布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

  • 导航跟随滚动条置顶移动示例代码

    复制代码 代码如下: #topmenu{position:absolute;top:100px;background:#4b4a4a;width:100%;margin:0 auto;clear:both;overflow:hidden;z-index:998;left:0} <script type="text/javascript"> jQuery(document).ready(function() { var topmenu = jQuery("#topm

  • JS实现一键回顶功能示例代码

    1.基础准备: scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置. scroll top offset 指的是滚动条相对于其顶部的偏移. 如果该方法未设置参数,则返回以像素计的相对滚动条顶部的偏移. 语法 $(selector).scrollTop(offset) 2. toggleClass() 对设置或移除被选元素的一个或多个类进行切换. 例如对设置和移除所有 <p> 元素的 "main" 类进行切换: 复制代码 代码如下: $("button

  • 判断、添加和删除WordPress置顶文章的相关PHP函数小结

    判断置顶文章 is_sticky() 函数用来判断一篇文章是否为置顶文章. 用法 is_sticky( $post_id ); 参数 $post_id (整数)(可选)要判断的文章 ID,默认是循环中的当前文章. 默认值:0(循环中的当前文章) 返回值 (布尔)文章是否为置顶文章. 例子 if( is_sticky() ) echo //'当前文章是置顶文章'; if( is_sticky( 68 ) ) echo //'ID 为 68 的文章是置顶文章'; 其它 此函数位于:wp-includ

  • jquery实现标签上移、下移、置顶

    eg:如在后台的标签列表中,实现上移.下移.置顶功能 主要实现思路是节点操作,比如说:上移,直接把点击项移动到前一个节点,以此类推,当然实际代码实现还要加些判断,如当前点击操作项是否已经是置底或置底了,如果是则给点相应提示,好让操作者知道发生了什么事情. 思路: 1.先用到的克隆方法.clone(true): 即把当前要移动的项先保存好,备于后用. 2.找到当前标签所对应的相关元素及其相关方法: 如:.prev()当前元素上面的标签 .next()当前元素下面的标签 .after()xxx之后添

  • jQuery实现的监听导航滚动置顶状态功能示例

    本文实例讲述了jQuery实现的监听导航滚动置顶状态功能.分享给大家供大家参考,具体如下: 1. js代码 /** * Created by EDUASK on 2016/5/20. */ $(function(){ //引入id标签; var navtive=$("#native"); //设置导航标签为置顶; var offsetTop=navtive.offset().top; //定义一个监听高度; var scrollHeight=$(document).scrollTop;

  • Angular实现的内置过滤器orderBy排序与模糊查询功能示例

    本文实例讲述了Angular实现的内置过滤器orderBy排序与模糊查询功能.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net Angular模糊查询.排序</title> <style> *{ ma

随机推荐