【问题标题】:LIKE condition in yiiyii 中的 LIKE 条件
【发布时间】:2015-07-31 09:40:22
【问题描述】:
  1. 如何在yii中添加like条件?
  2. 不要在首页显示超过两张图片。

我怎样才能实现这些目标?

public function actionIndex()
{
    $criteria = new CDbCriteria();
    $criteria->order = 'id DESC';
    $criteria->condition = 'title LIKE OR description LIKE';


    $item_count = OfferEvents::model()->count($criteria);
    $page_size =5;       

    $pages =new CPagination($item_count);
    $pages->setPageSize($page_size);

    // simulate the effect of LIMIT in a sql query
    $end =($pages->offset+$pages->limit <= $item_count ? $pages->offset+$pages->limit : $item_count);

    $sample =range($pages->offset+1, $end);

    $this->render('index', array(
        'item_count'=>$item_count,
        'page_size'=>$page_size,
        'items_count'=>$item_count,
        'pages'=>$pages,
        'sample'=>$sample,
        ));
}

在我看来,我添加了这个

<div class="page" style="margin-left:500px;">    
        <?php
        $this->widget('CLinkPager', array(
        'currentPage'=>$pages->getCurrentPage(),
        'itemCount'=>$item_count,
        'pageSize'=>$page_size,
        'maxButtonCount'=>6,
        'nextPageLabel'=>'Next &gt;',
        'header'=>'',
        ));

        ?>
    </div>

【问题讨论】:

    标签: php sql yii sql-like


    【解决方案1】:
    $criteria->condition = 'title LIKE :title OR description LIKE :description'; // step 1
    $criteria->params = array(':title' => $title, ':description' => $description); // step 2
    

    这里

    • 第一步,添加两个名称参数:title:description
    • 然后在第 2 步中,将值传递给类 CDbCriteriaparams 方法,该方法包含一个关联数组,其 keys 是 SQL 中的参数。

    分页:

    $page_size = ceil($item_count/2);
    

    【讨论】:

    • 它向我显示了一个错误未识别的变量标题...它还向我显示了第二页中的相同数据..
    • 你必须同时通过$title$description
    猜你喜欢
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    相关资源
    最近更新 更多