У меня две таблицы книг и авторов.Используя CodeIgniter, я бы хотел, чтобы пользователи могли фильтровать результаты - например, показывать результаты, где author_id = 'x' и book_lang = 'y' и publishing_year = '2000'.Значения критериев фильтра поступают от пользователя через раскрывающиеся списки.
Каков наилучший способ создания запроса с использованием помощника по кодированию и привязки и т. Д.?
Например, приведенный ниже запрос даст мне все с author_id = 1. Что делать, если фильтры, например, микс;author_id = 1;language = 'all' (не помещать условие where в язык) и год публикации = 'all' также не ставить выражение where .. Нужно ли вручную проверять значения и код или есть вспомогательный метод codigniter, который позволяетфильтр, который будет удален из условия where, если в раскрывающемся списке указано «показать все»?
$sql = "select * from AUTHORs a , BOOKS b where
a.AUTH_ID = b.BOOK_AUTH_ID
and b.BOOK_AUTH_ID = ?
and b.BOOK_LANGUAGE = ?
and b.PUB_YEAR = ? ";
$query = $this->db->query($sql, array ($author_id, $book_lang, $pub_year));