http://document.thinkphp.cn/manual_3_2.html#data_page

http://document.thinkphp.cn/manual_3_2.html#stat_query

  /**
     * 所有可投资产品
     */
    public function invest_chanpin() {
        $p = getValue('p', 'int');
        if (!$p || $p <1) {$p = 1;}

        $pageSize = getValue('pageSize', 'int');
        if (!$pageSize) {
            $pageSize = 10;
        }
        $count = M('item')->count();
        $lastPage = ceil($count/$pageSize);
        if ($p > $lastPage) {
            $p = $lastPage;
        }

        $page = new Page($count, $pageSize);

        $sql = <<<EOF
select b.id as pid, b.title as title, c.name as clazz,
    b.guarantee as guarantee, b.min as min, b.rate as rate,
       b.day as day
from item as b
left join project_class as c on b.class=c.id
limit %d,%d
EOF;
        $products = M()->query(sprintf($sql, ($p-1)*$pageSize, $pageSize));

        // !!数据不完整!!
        foreach ($products as &$product) {
            empty($product['clazz']) && $product['clazz'] = '无';
            empty($product['guarantee']) && $product['guarantee'] = '无';
            if (is_null($product['min'])) {
                $product['min'] = 0;
            }
            if (is_null($product['rate'])) {
                $product['rate'] = 0;
            }
            if (is_null($products['day'])) {
                $product['day']= 0;
            }
        }
        $this->assign('products', $products);
        $this->assign('page', $page->show());

        $this->assign('user', $this->loginUser);
        $this->display();
    }

封装I方法 过滤传入参数

function getValue($name, $type = 'str')
{
	$data = array(' ', '\'', '<', '>', '"', '&lt;', '&gt;', '&quot;', 'script', 'insert', 'delete', 'update', 'select', 'drop', 'exec', 'and', 'or', 'eval');

	if ($type == 'array') {
		$value = I($name);

		foreach ($value as $key => $i) {
			$value[$key] = str_ireplace($data, '', $i);
		}
	}
	else {
		$value = str_ireplace($data, '', I($name));

		switch ($type) {
		case 'str':
			$value = strval($value);
			break;

		case 'int':
			$value = intval($value);
			break;

		case 'float':
			$value = floatval($value);
			break;
		}
	}

	return $value;
}

模板文件:

<style>
.pagination {
   margin: 0 auto;
   display: block;
}
.pagination .num, .pagination .current {
  padding: .2em .4em;
  display: inline-block;
  border: 1px solid #ccc;
  margin: 0 .1em;
}
</style>     


<div class="pagination center-block">
    {$page}
</div>