Codeigniter + MySQL - Поиск, содержащий строку - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть столбец в таблице базы данных со значением: PL TOFLEX NEGRO / PRETO

Я ищу на своем веб-сайте: TOFLEX PRETO

Мне нужен вывод: PL TOFLEX NEGRO / PRETO

Может кто-нибудь дать мне правильный запрос, чтобы сделать это?Я пытаюсь:

public function searchMaterial($nome)
{
    $json = [];

    $this->load->database();

    if(!empty($this->input->get("q"))){
        $this->db->like('nomeMaterial', $nome, 'both');
        $query = $this->db->select('idMaterial as id,nomeMaterial as text')
                    ->limit(50)
                    ->get("material");
        $json = $query->result();

    }
    echo json_encode($json);
}

, но не работает.

1 Ответ

0 голосов
/ 15 февраля 2019

Вы должны разделить свои условия, прежде чем обращаться к базе данных.Я предполагаю, что nomeMaterial - это название вашего столбца.

Попробуйте, если вы хотите, чтобы ваш столбец содержал ОБА термины:

$search = 'TOFLEX PRETO';
$terms = explode(' ',$search); //will return an array with two strings
foreach($terms as $term){
    $this->db->like('nomeMaterial', $term);
}

Или попробуйте это, если вы хотите, чтобы в ваших столбцах был хотя бы одинусловий:

$search = 'TOFLEX PRETO';
$terms = explode(' ',$search); //will return an array with two strings
foreach($terms as $term){
    $this->db->or_like('nomeMaterial', $term);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...