thinkphp的控制器傳參

若一個function裏面的內容大都一樣,只是表不一樣,可以使用傳參方法寫一個方法就行,模糊查詢

publicfunction zaixiao_basic($n) {

        $tab = M($n);

        $name = I('Name');

        $idcard=I('IDcard');

        $coachname = I('Coachname');

        $page = isset($_POST['page']) ?intval($_POST['page']) : 1;

        $rows = isset($_POST['rows']) ?intval($_POST['rows']) : 10;

        $offset = ($page - 1) * $rows;

        $sql = " Name like '$name%' andIDcard like '$idcard%' and  Lixiao like '否'and Schoolname like'$_SESSION[schoolname]'";

        $rs=$tab->where($sql)->limit($offset, $rows)->select();

        $this->ajaxReturn($rs); 

     }

如果有個表的條件不一樣如(表examinfo),可以這樣寫(組合查詢)

public function zaixiao($n){
         $tab = M($n);
        $idcard = I('IDcard');
        $name = I('Name');
        if ($n == 'examinfo') {
            $coachname = I('Coachname');
        }
        $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
        $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
        $offset = ($page - 1) * $rows;
        $sql = "Lixiao like '否'and Schoolname like '$_SESSION[schoolname]'";
        if ($name != '') {
            $sql1 = Name . ' like "' . $name . '"';
            $sql.="&&$sql1";
        }
        if ($idcard != '') {
            $sql2 = IDcard . ' like "' . $idcard . '"';
            $sql.="&&$sql2";
        }
        if ($coachname != '') {
            $sql3 = Coachname . ' like "' . $coachname . '"';
            $sql.="&&$sql3";
        }
        $rs = $tab->where($sql)->limit($offset, $rows)->select();
        $this->ajaxReturn($rs);
    }

然後調用參數寫表名就行

__URL__/zaixiao_basic/?n=表名

__URL__/zaixiao_basic/?n=examinfo


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章