tp3.2中利用分页类进行分页(多条件搜索)

HTML页面

用户名:<input type="text" name="name" id="username">
方案id:<input type="text" name="" id="programid">
配资状态:<select name="status" id="status">
    <option value="0">全部状态</option>
 <foreach name="cap_status" item="status">
     <option value="{$status.c_s_id}">{$status.c_s_name}</option>
 </foreach>
</select>
<input type="button" value="搜索" οnclick="searcha()">

js传值

function searcha(){
        var status=document.getElementById("status").value;
        var username=document.getElementById("username").value;
        var programid=document.getElementById("programid").value;
        $.ajax({
            url:"__APP__/Fund/Fund/fund_list",
            type:"get",
            data:{"status":status,"username":username,"programid":programid},
            success:function(e){
                $("#lista").html(e);             
            }
        })
    }

传值到控制器并利用tp中的分页类进行多条件搜索并分页

public function fund_list(){
        $status=$_GET['status'];
        $username = $_GET['username'];
        $programid = $_GET['programid'];
    	//配资状态
		$cap_status = D("Fund")->fund_list();

        //实现分页及搜索
        $User = M('wcp_capital_apply'); // 实例化User对象
            $where="1=1";
            if($status){
                $where.=" and wcp_capital_status.c_s_id = '$status' ";
            }
            if($username){
                $where.=" and wcp_user.user_name='$username' ";
            }  
            if($programid){
                $where.=" and wcp_capital_apply.case_id='$programid'";
            }
        $count = $User->join("wcp_capital_status ON wcp_capital_apply.capital_status = wcp_capital_status.c_s_id")
        ->join("wcp_finace_type ON wcp_capital_apply.capital_type=wcp_finace_type.f_t_id")
        ->join("wcp_user ON wcp_capital_apply.user_id = wcp_user.user_id")
        ->field("cap_id,wcp_capital_apply.user_id,case_id,user_name,bond_price,apply_price,hailun_price,c_s_id,cordon_price,open_price,f_t_name,c_s_name,capital_use_time ")
        ->where($where)->count();// 查询满足要求的总记录数
        $Page       = new \Think\Page($count,2);// 实例化分页类 
        $show       = $Page ->show();// 分页显示输出
        $list = $User->join("wcp_capital_status ON wcp_capital_apply.capital_status = wcp_capital_status.c_s_id")
        ->join("wcp_finace_type ON wcp_capital_apply.capital_type=wcp_finace_type.f_t_id")
        ->join("wcp_user ON wcp_capital_apply.user_id = wcp_user.user_id")->order("cap_id asc")
        ->field("cap_id,wcp_capital_apply.user_id,case_id,user_name,bond_price,apply_price,hailun_price,c_s_id,cordon_price,open_price,f_t_name,c_s_name,capital_use_time ")
        ->where($where)->limit($Page->firstRow.','.$Page->listRows)->select();
        //echo $User->getlastsql();
        $this->assign('cap_apply',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出
        $this->assign("cap_status", $cap_status);
        $this->display();
    }


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
TP3.2 是一个基于PHP的开源框架,它提供了很多方便的功能,其包括利用jQuery Ajax实现分页功能。下面是一个例子说明如何使用jQuery Ajax实现前台与后台的分页功能: 前台源码: ```html <!DOCTYPE html> <html> <head> <title>分页示例</title> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script> $(document).ready(function(){ var currentPage = 1; // 当前页码 // 加载数据函数 function loadData(page){ $.ajax({ url: 'loadData.php', type: 'POST', data: {page: page}, success: function(response){ $("#dataContainer").html(response); } }); } // 初始加载数据 loadData(currentPage); // 点击页面切换按钮 $(document).on("click", ".pagination a", function(e){ e.preventDefault(); var page = $(this).attr("data-page"); currentPage = page; loadData(currentPage); }); }); </script> </head> <body> <div id="dataContainer"></div> </body> </html> ``` 后台源码(loadData.php): ```php <?php include "dbconfig.php"; // 引入数据库配置文件 $page = $_POST['page']; $perPage = 10; // 每页显示记录数 $offset = ($page - 1) * $perPage; // 计算偏移量 $result = $conn->query("SELECT * FROM your_table LIMIT $offset, $perPage"); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "<p>{$row['name']}</p>"; } } $conn->close(); ?> ``` 上述代码,前台页面加载时会发送一个Ajax请求到后台的`loadData.php`文件,同时传递一个`page`参数表示当前页码。后台根据参数查询对应的数据,并将结果返回给前台,然后前台更新页面内容。用户可以通过点击页面切换按钮,改变`page`参数的值,从而实现翻页功能。 需要注意,后台代码的`dbconfig.php`文件应该包含数据库连接的配置信息,以确保能够成功连接数据库并查询数据。 这只是一个简单的分页功能示例,你可以根据自己的实际情况进行调整和扩展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值