已解决page分页 $Page->parameter问题关键字分页
程序员文章站
2022-05-08 11:09:44
...
相信大家都在为page分页 $Page->parameter无效 而头痛吧,是的,至少官方没给出好的demo
官方的代码是这样的
foreach ($map as $key => $val) {
$p->parameter .= "$key=" . urlencode ( $val ) . "&";
}
这种写法也对。如果$map是数组,能用$val赋值给$key,所以改下代码入住:
foreach ($where as $key => $val) {
if(is_array($val)){
$Page->parameter .= "$key=" . urlencode ( trim($val[1],'%') ) . "&";
}else{
$Page->parameter .= "$key=" . urlencode ( $val ) . "&";
}
}
这样,$Page->parameter能获取到第一次值,为什么说能获取到第一次?那就把看你的地址和分页类(本人用的是3.1.2完整版里面的分页类),
先看看下搜索后的地址吧?
http://localhost:10086/job/List/index/title/%E7%BE%8E%E5%AE%B9/workcityid/385/p/2.html
是采用的_get,所以要在条件查询前面的代码如下写法
if(isset($_POST['keys'])){
$keys=$_POST['keys'];
}else if(isset($_GET['title'])){
$keys=$_GET['title'];
}
$keys=trim($keys);
if(!empty($keys)){
$where["title"]=array('like',"%".$keys."%");
}
但是 这样一来,表字段就暴露出来了。希望高手改进下
官方的代码是这样的
foreach ($map as $key => $val) {
$p->parameter .= "$key=" . urlencode ( $val ) . "&";
}
这种写法也对。如果$map是数组,能用$val赋值给$key,所以改下代码入住:
foreach ($where as $key => $val) {
if(is_array($val)){
$Page->parameter .= "$key=" . urlencode ( trim($val[1],'%') ) . "&";
}else{
$Page->parameter .= "$key=" . urlencode ( $val ) . "&";
}
}
这样,$Page->parameter能获取到第一次值,为什么说能获取到第一次?那就把看你的地址和分页类(本人用的是3.1.2完整版里面的分页类),
先看看下搜索后的地址吧?
http://localhost:10086/job/List/index/title/%E7%BE%8E%E5%AE%B9/workcityid/385/p/2.html
是采用的_get,所以要在条件查询前面的代码如下写法
if(isset($_POST['keys'])){
$keys=$_POST['keys'];
}else if(isset($_GET['title'])){
$keys=$_GET['title'];
}
$keys=trim($keys);
if(!empty($keys)){
$where["title"]=array('like',"%".$keys."%");
}
但是 这样一来,表字段就暴露出来了。希望高手改进下
AD:真正免费,域名+虚机+企业邮箱=0元