Если у меня есть поля в моей базе данных под названием Carmake и carcolour . Что происходит, если я введу Toyota , он возвращает все автомобили Toyota. Если я ввожу в синий он возвращает все синие автомобили. Если я вводу в синюю Toyota , кажется, он возвращает все синие автомобили Toyota отлично, но если я вводу в Toyota Blue , он возвращает все автомобили Toyota, а также любую синюю машину, независимо от Make.
Вот что я имею:
Код: Выделить всё
public function searchCars($data)
{
$keywords = explode( ' ', $data);
foreach ($keywords as $keyword)
{
$keyword = trim($keyword);
$this->db->where("`CarMake` LIKE '%$keyword'");
$this->db->or_where("`CareColour` LIKE '%$keyword'");
}
$query = $this->db->get('cars');
return $query->result();
}
Скажем, если у меня есть автомобиль, называемый Audi A4 , а цвет указан как Red . Поиск слова Red показывает все автомобили Red , поиск Audi покажет все Audi CARS и поиск A4 будет отображать модель A4 , но я не могу искать Audi A4 или Red Audi ; он ничего не возвращает. Я хочу, чтобы набрать синюю Toyota или Toyota Blue только возвращает любые автомобили Toyota синий .
Подробнее здесь:
https://stackoverflow.com/questions/225 ... artial-mat