yii2.0 使用分页封装类 分页
第一步:连接收据库,原生代码封装类连的数据库,因为是框架,不能是框架的数据库
第二步:封装的类放在web下面,入口文件,可以自定义;命名 使用封装类
第三步:注意文件名的路径,跳转上一页下一页的路径 下面可以对比看到
<span style="color:#FF0000;">类名 Db.class.php 连接数据库</span>
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/9/22
* Time: 23:45
*/
header("content-type:text/html;charset=utf8");
class Db{
public $host="127.0.0.1";
public $host_name="root";
public $host_pwd="root";
public $db_name="yii";
function connect(){
mysql_connect($this->host,$this->host_name,$this->host_pwd)or die("连接失败");
mysql_select_db($this->db_name)or die("选择失败");
mysql_query("set names utf8");
}
}
<span style="color:#FF0000;">分页类名</span> page.class.php
<?php
header("content-type:text/html;charset=utf8");
class page{
/*分页方法
*@param string $table 表名
*@param int $length 一页几个
*@param $file_name文件名
*/
function show($table,$length,$where,$file_name){
$sql="select count(*) from $table where $where";
//return $sql;die;
$re=mysql_query($sql);
$arr=mysql_fetch_assoc($re);
//print_r($arr);
//总记录数
$num=$arr["count(*)"];
//每页显示的条数
$length=4;
//总页数
$pages=ceil($num/$length);
//当前页面
$page=isset($_GET["page"])?$_GET["page"]:1;
//上一页
$last=$page<=1?1:$page-1;
//下一页
$next=$page>=$pages?$pages:$page+1;
//尾页
$offset=($page-1)*$length;
$sql1="select * from $table where $where limit $offset,$length";
//echo $sql1;
//执行取出数据
$re1=mysql_query($sql1);
//如果有数据 取出数据 否则返回false;
if(mysql_num_rows($re1)>0){
while($arr1=mysql_fetch_assoc($re1)){
//2维数组
$new_arr[]=$arr1;
}//print_r($new_arr);
$str="<a href="$file_name.php?r=lianxi/list&page=1">首页</a>
<a href="$file_name.php?r=lianxi/list&page=$last">上一页</a>
<a href="$file_name.php?r=lianxi/list&page=$next">下一页</a>
<a href="$file_name.php?r=lianxi/list&page=$pages">尾页</a>";
/*<a href="$file_name.php?page=1">首页</a>
<a href="$file_name.php?page=$last">上一页</a>
<a href="$file_name.php?page=$next">下一页</a>
<a href="$file_name.php?page=$pages">尾页</a>";
* echo $str;die;
*/
$data["data"]=$new_arr;
$data["str"]=$str;
//print_r($data);die;
return $data;
}else{
return false;
}
}
}
?>
<span style="color:#FF0000;">命名 控制器</span>
use page;<span style="color:#FF0000;">//类名***</span>
use Db;/<span style="color:#FF0000;">/注意</span>
public function actionList(){
require("page.class.php");//分页
require("Db.class.php");//数据库
$db=new Db();//实例化
$db->connect();
$page=new page();
$arr1= $page->show("shang",4,1,"index");//传来的参数 表名 页 条件1 文件名
$arr=$arr1["data"];
$str=$arr1["str"];
//$arr=Shang::find()->asArray()->all();
return $this->render("list",["list"=>$arr,"str"=>$str]);
}<span style="color:#FF0000;">
视图层</span>
<?php foreach($list as $k=>$v){?>
<tr>
<td><?php echo $v["goods"]?></td>
<td><?php echo $v["price"]?></td>
</tr>
<?php}?>
<?php echo $str ?>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
