zoukankan      html  css  js  c++  java
  • Zend_Paginator多条件查询

    上一篇中,作者介绍了zend_paginator,利用range(1,$lenght)初始化Zend_Paginator_Adapter_Array(),用这个zend_paginator构造一个导航条。

    本篇介绍条件查询分页:

    (1)首先要查询到该条件下的总条数。

    (2)然后再获取当前页的数据。

    $db = $this->getAdapter();
    $select = $db->select();
    $select->from('draft','count(*)');
    //$array查询条件
    foreach(@$array as $key=>$value) { if($key=='keyword') { $condition = '%'.$value.'%'; $select->where("content like ?",$condition); } else { $select->where($key."=?",$value); } } $this->total = $db->fetchOne($select); if($this->total==0) { return null; } //不计算分页,首先计算该条件下总数 $paginator= new Zend_Paginator(new Zend_Paginator_Adapter_Array(range(1,$this->total))); $select = $db->select(); //重新设置查询条件 $select->from('draft','*'); foreach(@$array as $key=>$value) { if($key=='keyword') { $condition = '%'.$value.'%'; $select->where("content like ?",$condition); } else { $select->where($key."=?",$value); } } //设置分页 $begin = $pageNum*$perPage; $select->limit($perPage,$begin); $select->order("modifytime desc"); $this->array = $db->fetchAll($select); return $paginator;

    在view页面中:

    pagination-control.phtml中

    <?php echo $this->url(array_merge($params,array('page' => $page))); ?>

    这段代码会将post的数据按/key/value的方式组成url,因此使用pagination-control组件可以“传递查询条件”。

  • 相关阅读:
    MYSQL定时任务 触发器
    mybatis 学习
    SSM 记录
    环境变量配置
    servlet 拦截器 (filter)
    验证码
    jquery $.ajax({});参数详解
    maven打包忽略静态资源解决办法,dispatchServlet拦截静态资源请求的解决办法
    switch..case..
    HDU 1005 题解
  • 原文地址:https://www.cnblogs.com/birdskyws/p/3925043.html
Copyright © 2011-2022 走看看