|
本帖最后由 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';
这里设置下路径就好了。
<完>
|
|