yii2.0 使用分页封装类 分页

来源:互联网 发布:淘宝平台技术费 编辑:程序博客网 时间:2024/05/17 06:51

第一步:连接收据库,原生代码封装类连的数据库,因为是框架,不能是框架的数据库第二步:封装的类放在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<?phpheader('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 ?>



0 0