网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Yii框架结合sphinxAjax如何实现搜索分页功能-创新互联

这篇文章主要介绍Yii框架结合sphinx Ajax如何实现搜索分页功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联自2013年起,先为陆丰等服务建站,陆丰等地企业,进行企业商务咨询服务。为陆丰企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

具体如下:

效果图:

Yii框架结合sphinx Ajax如何实现搜索分页功能

控制器:

request->get('sou');
    $p1=Yii::$app->request->get('p1');
    $p2=Yii::$app->request->get('p2');
    //echo $sou.$p1.$p2;die;
    //sphinx搜索
    $cl = new SphinxClient();
    $cl -> SetServer('127.0.0.1',9312);
    $cl -> SetConnectTimeout(3);
    $cl -> SetArrayResult(true);
    if($sou)
    {
      //只搜索条件
      $cl -> SetMatchMode(SPH_MATCH_ANY);
    }
    else
    {
      //全局扫描
     $cl -> SetMatchMode(SPH_MATCH_FULLSCAN);
    }
    //设置价格(注意:创建索引时,价格属性定义为int)
    if($p1&&$p2)
    {
    $cl->SetFilterRange('price',$p1,$p2);
    }
    //搜索查询关键字
    $res = $cl->Query($sou,"mysql_goods");
    //ajax分页
    $model=new Goods();
    foreach ($res['matches'] as $key => $val)
    {
     $ids[] = $val['id'];
    }
    //查询条件数据
    $query = $model->find()->where(['id'=>$ids]);
    $countQuery = clone $query;
    $pages = new Pagination(['totalCount' => $countQuery->count(),'defaultPageSize'=>3]);
    //分页
    $models = $query->offset($pages->offset)
    ->limit($pages->limit)
    ->all();
    //关键字变红
    foreach($models as $k=>$v)
    {
      $models[$k]['goods_name']=str_replace("$sou","$sou",$v['goods_name']);//将关键字替换成红色字体
    }
    //显示列表,分配数据
    return $this->render('index', [
       'res' => $models,
       'pages' => $pages,
       'sou'=>$sou,
       'p1'=>$p1,
       'p2'=>$p2
    ]);
   }
}
?>

视图层:

 'index.php?r=sou/index',
  'method' => 'get'
]) ?>
  商品名称:   ">   价格区间:   ">---">                  ID       商品名称       商品价格          $v){?>                                        $pages]) ?>
beginBlock('test2') ?>   $(document).on('click', '.pagination a', function(e)   {     //阻止page显示,看地址     e.preventDefault();     var href = $(this).attr('href');     $.post(href,function(msg){       $('#list').html(msg);     })   }); endBlock(); $this->registerJs($this->blocks['test2'] , yii\web\View::POS_END) ?>

以上是“Yii框架结合sphinx Ajax如何实现搜索分页功能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


网页题目:Yii框架结合sphinxAjax如何实现搜索分页功能-创新互联
网站链接:http://bjjierui.cn/article/cdijce.html

其他资讯