我有一个小问题。
我使用 CodeIgniter 框架在 php 中编写了一个完整的网站。我的模块之一是搜索模块,它包含带有关键字的文本输入和三个带有过滤条件的选择列表。
没关系,当我搜索某些内容时 - 结果的列表分页是通过这样的 URL 完成的:
mysite.com/$keyword/$criteria1/$criteria2/$criteria3/$offset
奇迹般有效。
但是当我进入我的一张图片(它是图片库)时,我希望有一个选项可以从我的搜索结果中进入 NEXT 和 PREVIOUS 图像 - 我输入这张图片的那些。
我现在正在以这种方式解决这个案例 - 我有一个名为“search_conditions”的会话表,我在那里存储了关键字的值和我的三个条件,但这很不舒服,因为为什么如果有人打开第二个窗口并搜索其他东西那里?
然后他在另一个窗口或选项卡中的所有搜索都获得相同的标准 - 因为每次新搜索时,用户都会覆盖会话值。
我的下一个和上一个功能:
public function next($count)
{
$search = $this->session->userdata('search_conditions'); //getting session table and overwriting it
$catid = isset($search['catid'])?$search['catid']:'0';
$brandid = isset($search['brandid'])?$search['brandid']:'0';
$prodid = isset($search['prodid'])?$search['prodid']:'0';
$keyword = isset($search['keyword'])?$search['keyword']:'';
$res = $this->search_model->main_search($keyword, $catid, $brandid, $prodid, $count, 1);
}
public function previous($count)
{
$search = $this->session->userdata('search_conditions');
$catid = isset($search['catid'])?$search['catid']:'0';
$brandid = isset($search['brandid'])?$search['brandid']:'0';
$prodid = isset($search['prodid'])?$search['prodid']:'0';
$keyword = isset($search['keyword'])?$search['keyword']:'';
$res = $this->search_model->main_search($keyword, $catid, $brandid, $prodid, $count-2, 1);
}
你能给我推荐一些其他更舒服的解决方案吗,因为这似乎不太好...... :)
谢谢!