ThinkPhp分页问题,用Post请求的分页怎么实现。用get可以没问题,但是我还需要执行增删改操作,若是get的话,这几个操作就不能继续操作了有帮忙的么???感谢了。。php菜鸟渴求大哥们帮忙。
 //显示社员管理界面
    function show() {
        //设置页面样式及编码格式
        header("Content-Type:text/html; charset=utf-8");
        $this->assign("selState",'1'); //设置处理方式
        $this->assign("title","memberInforMaster"); //设置页面标题        $EMPLOYE = new EmployeModel(); import("ORG.Util.Page"); //导入分页类 if(!empty($_REQUEST['pageno'])) { $listRows  =  $_REQUEST['pageno']; }else { $listRows = 2; //listRows标识每页显示多少条记录
}
$fields = 'EMPLOYE_ID,EMPOYE_NM,SEX,EMPOYE_STATE,SKYPE_NO,E_MAIL,ADDRESS,PHONE,POST_NO'; $errorStr = ""; //显示错误信息 $Empoye_name = $_REQUEST['emplymeesname'];
        $Employe_state = $_REQUEST['employmetai'];
        //$condition = "EMPOYE_NM LIKE "."'%".$Empoye_name."%'"." AND EMPOYE_STATE = ".$Employe_state." AND DEL_FLG = 0 " ;        import('ORG.Util.HashMap');        $condition = new HashMap();
        $condition->put('EMPOYE_NM',array('like','%'. trim($Empoye_name) .'%'));
        $condition->put('EMPOYE_STATE',$Employe_state);
        $condition->put('DEL_FLG','0');        $count = $EMPLOYE->lock(true)->where($condition)->field($fields)->order('EMPLOYE_ID ASC')->count(); //count函数参数是查询条件,默认没有where的条件限制 if ($count == 0) {
$errorStr = "検索結果が0件です。" ;
} else { $p = new Page($count,$listRows,$parameter=""); //根据总数和每页显示记录数生成Page类的对象        $result = $EMPLOYE->lock(true)->where($condition)->field($fields)->order('EMPLOYE_ID ASC')->limit($p->firstRow.','.$p->listRows)->findall();        //分页跳转的时候保证查询条件
/*foreach($condition as $key=>$val) {
if(is_array($val)) {
foreach ($val as $t){
$p->parameter .= $key.'[]='.urlencode($t)."&";
 //$p->parameter.= $key.'='.urlencode($t).'&';
}
}else{
$p->parameter .= "$key=".urlencode($val)."&";
}
//$p->parameter   .=   "$key=".urlencode($val)."&";
}
          */
  foreach($condition as $key=>$val) {
if(is_array($val)) {               for($i=1;$i<count($val);$i++){                $t=str_replace('%','',$val[$i]);                $p->parameter.= $key.'='.urlencode($t).'&';               }            }else{               $p->parameter   .=   "$key=".urlencode($val)."&";            }
 }
$page=$p->show(); //page类的show方法生成翻页的字符串
}
$this->assign("result",$result); //模板中我们使用的是vo变量
$this->assign("page",$page); //输入分页条        $this->assign("errorStr",$errorStr); //检索结果为0
        $this->assign("emplymeesname",$Empoye_name);
        $this->assign("employmetai",$Employe_state);
        $this->assign("pagenum",$listRows); $this->display("init"); //加载模板,输出
    }
请问该怎么改啊。

解决方案 »

  1.   

    我用过一个比较笨的方法,在前台设置一个隐藏参数,当提交表单时将该参数一起post过去,然后和条件一起存进session,分页的时候的条件就读session
      

  2.   

    的确够笨,这样的话,貌似可以继续执行其他操作。我基本解决了,我把ThinkPhp包中的分页类该了一改,把get换成post(request),把link换成<a></a>标签就好了
    不过继续期待其他高手给予宝贵的意见!!
      

  3.   

    写一句
    $_GET = $_POST;