Prosty Blog - Wyszukiwarka Newsów
14 July 2008
Comments
W tym warsztacie zajmiemy się stworzeniem prostej wyszukiwarki dla newsów. Do zrobienia będzie:- mini formularz na wpisanie frazy
- metoda kontrolera pobierająca frazę i wyświetlająca wyniki
W widoku index.php nad główną treścią dodałem prosty formularz:
<center><?php echo form_open('blog/search'); ?>
<?php echo form_input(array('name' => 'fraza', 'size' => 20)); ?>
<?php echo form_submit('submit', 'Szukaj'); ?>
<?php echo form_close(); ?></center>
<?PHP echo $content; ?>
<?php
function search()
{
$fraza = $this->input->post('fraza');
IF(isset($fraza) and strlen($fraza) > 3)
{
$this->load->model('Comments');
$query = $this->db->query("SELECT * FROM ".$this->db->dbprefix."news WHERE news_text LIKE '%".$fraza."%' OR news_title LIKE '%".$fraza."%'");
$content = '';
if ($query->num_rows() > 0)
{
foreach($query->result() as $item)
{
$q = $this->Comments->are_comments_for_news($item->news_id)->result_array();
$item->comments = $q[0]['comnumber'];
$content .= $this->load->view('news_loop', $item, True);
}
}
else
{
$content = '<h1>Brak trafień</h1>';
}
$this->response['content'] = $content;
$this->load->view('index', $this->response);
}
}
SELECT * FROM ".$this->db->dbprefix."news WHERE news_text LIKE '%".$fraza."%' OR news_title LIKE '%".$fraza."%'
Zapytanie pobierze te newsy, w których treści lub tytule znajduje się podana fraza. Dla postgresql należy zastąpić LIKE przez ILIKE by wyszukiwanie nie zwracało na wielkość liter.Komponent gotowy.
RkBlog
Comment article