$sb, 'o' => $o))); # Currently using two separate queries: one with and one without tags # If we use a query with tags with no tags set (or even %), then documents appear twice $sql_no_tag = "SELECT SQL_CALC_FOUND_ROWS * FROM documents WHERE document_client_id = $client_id AND documents.company_id = $session_company_id AND (document_name LIKE '%$q%' OR document_content LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"; $sql_with_tag = "SELECT SQL_CALC_FOUND_ROWS * FROM documents LEFT JOIN documents_tagged ON documents.document_id = documents_tagged.document_id WHERE document_client_id = $client_id AND documents.company_id = $session_company_id AND (document_name LIKE '%$q%' OR document_content LIKE '%$q%') AND documents_tagged.tag_id LIKE '%$tag%' ORDER BY $sb $o LIMIT $record_from, $record_to"; if (empty($tag)) { $sql = mysqli_query($mysqli, $sql_no_tag); } else { $sql = mysqli_query($mysqli, $sql_with_tag); } $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); ?>