Ich habe einen Code geschrieben, um eine Suche im CODEIGNITER3-Framework durchzuführen. Wenn ich 2 oder mehr Wörter in die Eingabe einfüge, funktioniert das sehr gut. Wenn ich jedoch nur 1 Wort eingib, gibt es diesen Fehler.Die Codeignitersuchfunktion löst einen Fehler aus
Wie kann ich dieses Problem lösen? Hier ist mein Controller:
function search() {
$keyword = strip_tags($this->input->get('searchforcourses'));
$keyword = explode(" ", $keyword);
$data['title'] = 'Bütün Kurslar Burada';
$data['courses'] = $this->courses_model->courses_search($keyword);
$this->load->view('templates/header');
$this->load->view('courses/courses', $data);
$this->load->view('templates/footer');
}
Und hier ist mein Modell:
function courses_search($keyword) {
$this->db->select('*');
$this->db->from('courses');
$this->db->like('title',$keyword[0]);
$this->db->or_like('title',$keyword[1]);
$this->db->join('instructors', 'instructors.id = courses.instructor_id', 'left');
$this->db->join('categories', 'categories.id = courses.category_id', 'left');
$query = $this->db->get();
return $query->result_array();
}
Vielen Dank im Voraus!
Wie Sie sicher wissen, dass die '$ keyword' Array zwei Werte enthält? –
@MehdiBounya das Problem ist, ich möchte es überprüfen, aber weiß nicht, wie –
Warum stören Sie überhaupt mit der Überprüfung, wie viele Werte das Array enthält? Warum durchläuft man nicht einfach das Array $ keyword und verwendet die Methode or_like in der Schleife? –