Witam,
stworzyłem wyszukiwarkę, która wyszukuje dokładnie wprowadzony ciąg znaków z bazy danych np: wprowadzę "Ostrów Wielkopolski" znajduje ładnie. Nie wiem jak zrobić aby np: po wprowadzeniu "ostrow" również wyświetliło mi ten wynik.
akcja kontroler
CODE

public function searchAction()
{
$roomsDAO = new Rooms();

$searchForm = new SearchForm();

$filter = new Zend_Filter();
$filter->addFilter(new Zend_Filter_StripTags());
$filter->addFilter(new Zend_Filter_StringTrim());

$this->view->form = $searchForm;

$room_type_id = $filter->filter($this->_getParam('room_type_id'));
$province_id = $filter->filter($this->_getParam('province_id'));
$city = $filter->filter($this->_getParam('city'));

$data = array(
'province_id' => $province_id ? $province_id : null,
'city' => $city ? $city : null,
'room_type_id'=> $room_type_id ? $room_type_id : null
);

if($room_type_id or $province_id or $city){
$isSearch = true;
} else {
$isSearch = false;
}

$searchForm->populate($data);

$forPage = 2;

$filterInt = new Zend_Filter_Int();
$page = $filterInt->filter($this->_getParam('page'));

$page = $page ? $page : 1;

$paginator = Zend_Paginator::factory($roomsDAO->search($data));
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage($forPage);

$rooms = $roomsDAO->itemsToRowset($paginator->getCurrentItems());

$photos = array();

foreach($rooms as $room)
{
$dirname = './files/rooms/' . $room->id. '/';

if (is_dir($dirname)) {
if ($dh = opendir($dirname)) {
$number = 1;
while (($filename = readdir($dh)) !== false) {
$filepath = $dirname . $filename;

if (!is_dir($filepath)) {

$findme = '_t.jpg';
$pos = strpos($filename, $findme);

if ($pos !== false) {
/* do wyswietlania wszystkich zdjęć
$photos[$room->id][] = $filename;
*/

/* do wyswietlania jednego zdjęcia */
$photos[$room->id] = $filename;
$photos2[$room->id] = substr($filename, 0, -6).'_o.jpg';
continue;
}
}
}
}
}

}

$this->view->photos = $photos;

$this->view->rooms = $roomsDAO->itemsToRowset($paginator->getCurrentItems());
$this->view->paginator = $paginator;
$this->view->query = $_SERVER['QUERY_STRING'];
$this->view->formData = $data;
$this->view->isSearch = $isSearch;
}

formularz
CODE

<?php

class SearchForm extends Zend_Form
{
public function __construct()
{
parent::__construct();

$this->setAttrib('method', 'get');
$this->setAttrib('action', '/index/search/page/1');
$this->setAttrib('onsubmit', 'return searchValidator();');

$province_id = new Zend_Form_Element_Select('province_id');

$province_id->setLabel('')
->addFilter('StripTags')
->setAttrib('class', 'text');

$provincesDAO = new Provinces();
$province_id->addMultiOption('', 'wybierz województwo');
$provinces = $provincesDAO->fetchAll();
foreach($provinces as $province){
$province_id->addMultiOption($province->id, $province->name);
}


$city = new Zend_Form_Element_Text('city');

$city->setLabel('')
->addFilter('StripTags')
->setValue('nazwa miasta')
->setAttrib('maxlength', '128')
->setAttrib('class', 'text')
->setAttrib('onfocus', 'if (this.value == \'nazwa miasta\') this.value = \'\'')
->setAttrib('onblur', "if (this.value == '') this.value = 'nazwa miasta'");


$room_type_id= new Zend_Form_Element_Select('room_type_id');

$room_type_id->setLabel('')
->addFilter('StripTags')
->setAttrib('class', 'text');

$roomsTypesDAO = new RoomsTypes();
$room_type_id->addMultiOption('', 'wybierz rodzaj sali');
$roomsTypes = $roomsTypesDAO->fetchAll();
foreach($roomsTypes as $roomType){
$room_type_id->addMultiOption($roomType->id, $roomType->name);
}


$submit = new Zend_Form_Element_Submit('Szukaj');

$this->addElements(array($province_id, $room_type_id, $submit, $city ));


$this->clearDecorators();

$this->setDecorators(
array(
'FormElements',
'Form'
)
);

$submit->setDecorators(
array(
'ViewHelper',
array('HtmlTag', array('tag' => 'p', 'class' => 'buttons', 'id' => 'p_submit'))
)
);


$province_id->setDecorators(
array(
'ViewHelper',
array('HtmlTag', array('tag' => 'p', 'id' => 'p_province_id'))
)
);

$city->setDecorators(
array(
'ViewHelper',
array('HtmlTag', array('tag' => 'p', 'id' => 'p_city'))
)
);

$room_type_id->setDecorators(
array(
'ViewHelper',
array('HtmlTag', array('tag' => 'p', 'id' => 'p_room_type_id'))
)
);


}
}