2017-07-16 37 views
1

私は、うまく機能している検索を行うcodeigniter関数を使用していますが、同じURLで検索ボタンをクリックすると1つのページで新しい検索を行っているときに問題が発生します1つのページの重複がURLバーに表示され、間違ったリンクが表示されます。以下のスニペットでどのように動作するかを見てください。ここcodeigniterページ内のURLセグメントの数を制限する方法

http://localhost/newsapp/bulletins/view/31

http://localhost/newsapp/bulletins/view/view/31

http://localhost/newsapp/bulletins/view/view/view/31 http://localhost/newsapp/bulletins/view/view/view/view/31

functionssです。

 public function livesearch() { 

    $keyword = $this->input->post('keyword'); 
    $query = $this->news_model->get_live_items($keyword); 

    foreach ($query as $row): 
    echo "<li><a href='view/$row->id'>" . $row->title . "</a></li>"; 
    endforeach; 
} 

は、この1つは別のページに検索結果が表示さ:

public function search_keyword() 
{ 
    $keyword = $this->input->post('keyword'); 
    $data['results'] =$this->news_model->get_live_items($keyword); 
    $data["top_news"] = $this->news_model->topnews(); 
    $data["latest_news"] = $this->news_model->latestnews(); 
    $this->load->view('result_view',$data); 
} 

最後に、これはすべての魔法が起こっているが、

function view($id) 
{  
    $data['news'] = $this->news_model->get_one_news($id); 
    $data["top_news"] = $this->news_model->topnews(); 
    $data["latest_news"] = $this->news_model->latestnews(); 
    $data['content'] = 'single'; // template part 
    $this->load->view('includes/template',$data); 
} 

答えて

1

あなたのライブサーチ方法は、私の一日保存guys.you

public function livesearch() { 
     $keyword = $this->input->post('keyword'); 
     $query = $this->news_model->get_live_items($keyword); 

     foreach ($query as $row): 
      echo "<li><a href='" . base_url('bulletins/view/' . $row->id) . "'>" . $row->title . "</a></li>"; 
     endforeach; 
    } 
1

この

echo "<li><a href='".base_url()."view/$row->id'>" . $row->title . "</a></li>"; 

のような完全なリンクを与えて試してみてくださいあなたはそれがURLを追加することなく、必要なURLを生成しているview/$row->idを含めています。

+0

感謝する必要があります。 – vinn

関連する問題