lujscn 发表于 2012-8-8 13:15:37

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

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

lujscn 发表于 2012-8-8 13:31:37

曜日晨阳 发表于 2012-8-8 13:18 static/image/common/back.gif
$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,传参也照此值传就好了
页: [1]
查看完整版本: $this->uri->segment 如果有为空的,该如何操作呢?