用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2876|回复: 0
收起左侧

[Web] 关于PHP CodeIgniter框架中通过<a>标签和url做多条件分类筛选

[复制链接]
发表于 2015-10-15 21:51:03 | 显示全部楼层 |阅读模式
本帖最后由 alexgodwin 于 2015-10-15 21:54 编辑

作为新手碰到这个问题,研究了大半天,网上看了n多文章,有用的解决方案很少,可能是因为php中用CI框架的本来不多吧。我想我最终还是研究出来了,最后看看思路还是很简单的。做个简单的经验分享,供新手借鉴,高手勿批。
这个方案在数据这块并不像网上说的需要用到session,也不需要get post,是直接体现在url上的。 url的方法也有php原生的传参 xxx.php?search=?&location=&size=&  .... 之类的方法,但是在CI框架中,似乎是不必如此的。只需定好路径,即可通过<a>标签来确定url,从而达到分类筛选的目的。



若有更简单有效的办法,欢迎告知啊! 今天查了一天,网上关于这块几乎没有资料。。。


不说数据交互的部分,就MVC框架中的V和C:

【App/controllers/demo.php】
class demo extends SB_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    public function index($location="", $size="", $phase="")
    {
        //筛选分类信息
$data['location'] = urldecode($location);
        $data['size'] = urldecode($size);
        $data['phase'] = urldecode($phase);

        //把参数传给页面
$data['action'] = 'demo';
        $this->load->view('demo', $data);

    }

}


【View/defult/demo.php】
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'><?php $this->load->view('common/header');?><?php $this->load->view('common/header-meta');?>
</head>
<body>

//这里显示筛选的结果,做个示意
<?php echo $location . "  |  " . $size . "  |  " . $phase; ?><br>


//这里其实就是做通过<a>标签做筛选了。 进一步可以循环取数据库里的数据,此处只做个静态的示意。
城市:
<a href="<?php echo site_url('company/'.'0'.'/'.$size.'/'.$phase);?>">全部</a>
<a href="<?php echo site_url('company/'.'bj'.'/'.$size.'/'.$phase);?>">bj</a>
<a href="<?php echo site_url('company/'.'gz'.'/'.$size.'/'.$phase);?>">gz</a>
<a href="<?php echo site_url('company/'.'sh'.'/'.$size.'/'.$phase);?>">sh</a><br>
<br>

规模大小:
<a href="<?php echo site_url('company/'.$location.'/'."0".'/'.$phase);?>">全部</a>
<a href="<?php echo site_url('company/'.$location.'/'."big".'/'.$phase);?>">big</a>
<a href="<?php echo site_url('company/'.$location.'/'."middle".'/'.$phase);?>">middle</a>
<a href="<?php echo site_url('company/'.$location.'/'."small".'/'.$phase);?>">small</a><br>
<br>

阶段:
<a href="<?php echo site_url('company/'.$location.'/'.$size.'/'.'0');?>">全部</a>
<a href="<?php echo site_url('company/'.$location.'/'.$size.'/'.'初创');?>">初创</a>
<a href="<?php echo site_url('company/'.$location.'/'.$size.'/'.'成熟');?>">成熟型</a>
<a href="<?php echo site_url('company/'.$location.'/'.$size.'/'.'已上市');?>">已上市</a><br>
<br>


</body>
</html>

【app/config/routes.php】$route['demo/(:any)'] = 'demo/index/$1';
这里设置下路径就好了。
<完>







本版积分规则