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

$this->uri->segment 如果有为空的,该如何操作呢?

[复制链接]
发表于 2012-8-8 13:15:37 | 显示全部楼层 |阅读模式
http://www.abc.com/so/关键字/江苏省/南京市/鼓楼区/2

以下是我的搜索结果页的一个完整的网址,这样运行是正常的,
$this->uri->segment(2)             =>    关键字
$this->uri->segment(3)             =>    江苏省
$this->uri->segment(4)             =>    南京市
$this->uri->segment(5)             =>    鼓楼区
$this->uri->segment(6)             =>    这里的2是分页

但是如果用户搜索的时候没有输入关键字,只输入地区,问题就出现了:
http://www.abc.com/so//江苏省/南京市/鼓楼区/2
这样就成了
$this->uri->segment(2)             =>    江苏省
$this->uri->segment(3)             =>    南京市
$this->uri->segment(4)             =>    鼓楼区
$this->uri->segment(5)             =>    2,分页

而我希望的效果是:
$this->uri->segment(2)             =>    ''
$this->uri->segment(3)             =>    江苏省
$this->uri->segment(4)             =>    南京市
$this->uri->segment(5)             =>    鼓楼区
$this->uri->segment(6)             =>    这里的2是分页


如果只输入关键字,依然有问题
http://www.abc.com/so/关键字////2
问题依然存在,
$this->uri->segment(2)             =>    关键字
$this->uri->segment(3)             =>    这里的2是分页
而我希望的效果是:
$this->uri->segment(2)             =>    关键字
$this->uri->segment(3)             =>    ''
$this->uri->segment(4)             =>    ''
$this->uri->segment(5)             =>    ''
$this->uri->segment(6)             =>    这里的2是分页





$this->uri->segment  会自动忽略空的URI段,请问如何解决这个问题呢?

发表于 2012-8-8 13:18:25 | 显示全部楼层
本帖最后由 曜日晨阳 于 2012-8-8 13:19 编辑

$this->uri->segment(3)            /path/to/NULL/NULL/NULL/pageid

or

/path/to/0/0/0/pageid
 楼主| 发表于 2012-8-8 13:31:37 | 显示全部楼层
曜日晨阳 发表于 2012-8-8 13:18
$this->uri->segment(3)            /path/to/NULL/NULL/NULL/pageid

or

谢谢,您说的确实是一种方法,不过搜索来源页我不太容易能写出来,所以目前只能尝试用explode函数做。

不知道还有没有更好的方法
发表于 2012-8-8 16:28:37 | 显示全部楼层
$this->uri->segment(3)             =>    江苏省
$this->uri->segment(4)             =>   
$this->uri->segment(5)             =>   

如果你是select的话,你可以把空值直接设为0,传参也照此值传就好了

本版积分规则