小さな問題があります。
CodeIgniterフレームワークを使用してPHPで完全なWebサイトをコーディングしました。私のモジュールの1つは検索モジュールです。これには、キーワードを含むテキスト入力と、フィルタリング基準を含む3つの選択リストが含まれています。
それは大丈夫です、私が何かを検索しているとき-結果のリストのページ付けは次のようなURLを介して行われます:
mysite.com/$keyword/$criteria1/$criteria2/$criteria3/$offset
チャームのように機能します。
しかし、自分の画像の1つ(画像ギャラリー)に入るときは、検索結果から次の画像と前の画像(この画像を入力した画像)に移動するオプションが必要です。
私は今このケースをこのように解決しています-「search_conditions」というセッションテーブルがあり、そこにキーワードの値と3つの基準を保存していますが、誰かが2番目のウィンドウを開いて他の何かを検索した場合、それは非常に快適ではありません。そこの?
次に、別のウィンドウまたはタブでのすべての検索で同じ基準が取得されます。これは、新しい検索を行うたびに、ユーザーがセッション値を上書きするためです。
私の次と前の機能:
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);
}
これは良くないように思われるので、他のもっと快適な解決策を私に勧めてもらえますか... :)
ありがとうございました!