Я не думаю, что вам нужно что-то делать.
Предположим, вы запрашиваете все поля из tbl_documents
, поэтому оператор запроса "base-line" -
SELECT * FROM tbl_documents
Это не изменится, если одно или оба из if
утверждений верны.
Если первый равен true, тогда оператор запроса становится
SELECT * FROM tbl_documents WHERE tbl_documents.branch_id = some_branch_id;
Однако, если первый равен false, а второй true, тогда оператор будет
SELECT * FROM tbl_documents WHERE tbl_documents.subject_id = some_subject_id;
Если оба условия if
выполняются, оператор запроса будет
SELECT * FROM tbl_documents WHERE tbl_documents.branch_id = some_branch_id
AND tbl_documents.subject_id = some_subject_id;
Разве это не удовлетворяет критерию "c"?
Вопрос, который у меня возникает, - что если оба условияложны?SELECT * FROM tbl_documents
(без условий WHERE) запрос, который вы действительно хотите выполнить?