我在我的網站的主頁上有一個搜索欄。當我搜索公司並點擊'搜索'時,它會重定向到頁面http://mydomain.com/searchresults。 (注:我通過網址路由刪除了控制器名稱'home')如何在我的搜索頁面中獲得分頁 - codeigniter
我沒有任何搜索器或結果在我的網址中。這只是一個乾淨的網址。
當我嘗試在該頁面中實施分頁時,它不起作用,因爲當我進入下一頁時,searchterm消失了,它顯示我的數據庫中的所有公司。
我如何在此頁面上添加分頁?
我的控制器:
function searchresults()
{
$this->breadcrumbs->page = array('link'=> base_url().'home/search' ,'title' => 'Bedrijven Zoeken');
$this->breadcrumbs->method = array('link'=> base_url().'home/searchresults' ,'title' => 'Zoekresultaten');
$data['breadcrumbs'] = $this->breadcrumbs->get();
$match = $this->input->post('search');
if(strlen($this->input->post('cookie')) > 0){ $match2 = $this->input->post('cookie'); } else{ $match2 = '9101'; }
$data['query'] = $this->bedrijven_model->get_search($match, $match2);
$this->load->view('views/header');
$this->load->view('views/searchresults', $data);
$this->load->view('views/footer');
$data['query'] = $this->bedrijven_model->bedrijven_tags();
}
我的模型:
function get_search($match, $match2)
{
if (!isset($_COOKIE['cookie'])) {
$query = "SELECT * FROM (`bedrijfcategorieen`)
JOIN `bedrijven` ON `bedrijfcategorieen`.`idbedrijven` = `bedrijven`.`idbedrijven`
JOIN `categorieen` ON `bedrijfcategorieen`.`idcategorieen` = `categorieen`.`idcategorieen`
WHERE (`Bedrijfsnaam` LIKE '%".$this->input->post('search')."%'
OR `Plaats` LIKE '%".$this->input->post('search')."%'
OR `Telefoonnummer` LIKE '%".$this->input->post('search')."%'
OR `Email` LIKE '%".$this->input->post('search')."%'
OR `Website` LIKE '%".$this->input->post('search')."%'
OR `Profiel` LIKE '%".$this->input->post('search')."%'
OR `Adres` LIKE '%".$this->input->post('search')."%'
OR `Categorie` LIKE '%".$this->input->post('search')."%')
AND (Postcode LIKE '%".$this->input->post('cookie')."%')
GROUP BY `bedrijfcategorieen`.`idbedrijven`";
$result = $this->db->query($query);
return $result->result();
}
我的搜索頁面:
<form name="input" action="searchresults" method="post">
<input type="search" onchange="validate()" placeholder="Zoeken..." name="search" size="70">
<input type="search" onchange="validate()" required="true" size="14" placeholder="Postcode..." name="cookie" value="<?= $this->input->cookie('postcode', TRUE); ?>" >
<input type="submit" value="Zoeken">
</form>
我的SearchResult所頁:
<div id="bigcontent">
<h1>Companies found: <?= count($query); ?></h1>
<?= br(1); ?>
<h2>Company:</h2>
<?= br(1); ?>
<?= $this->pagination->create_links(); ?>
<?= br(2); ?>
<hr/>
<?php foreach($query as $item):?>
<a href="<?php echo base_url()?>bedrijven/<?= $item->idbedrijven?>"><h3><?= $item->Bedrijfsnaam ?></h3></a>
<p><b>Categorie:</b> <?= $item->Categorie ?></p>
<p><small><?php echo $item->Profiel ?></p>
<p><b><?php echo $item->Email ?></b></p>
<p><b>Postcode:</b> <?php echo $item->Postcode ?></p>
<p><b>Tags:</b></p>
</small>
<hr/>
<?php endforeach;?>
<br />
<<<a href="<?php echo base_url() ?>">Terug</a>
我想是這樣的:
(我裝分頁庫在我autoload.php文件)
$config['base_url'] = 'http://kees.een-site-bouwen.nl/home/searchresults';
$config['total_rows'] = $data['query'];
$config['per_page'] = 4;
$this->pagination->initialize($config);
,但沒有奏效。
我希望很清楚我想要什麼。
在模型中嘗試更換'$這個 - >輸入 - >後( '搜索')與' '$ match'。您已將'$ this-> input-> post('search')'分配給您的控制器中的'$ match'。 – 2013-05-02 08:43:13
「搜索」是我的搜索框的名稱。沒有我不能搜索。 – 2013-05-02 08:46:36
是的。你已經將它的值賦給你的控制器中的'$ match'變量。 '$ match = $ this-> input-> post('search');'然後你調用模型'$ this-> bedrijven_model-> get_search($ match,$ match2);'。在您的模型中存在的函數get_search($ match,$ match2)中,$ match值將包含您的「搜索輸入值」。您也可以在模型中使用'$ this-> input-> post('search');'但MVC的整個概念將毫無意義。 – 2013-05-02 08:51:56