Si queres que los datos se muestren al filtrarlos sin recargar la pagina ... entonces si necesitas utilizar ajax, en cambio si se filtra y luego se envia la informacion esntonces no...
No entiendo igual cual es tu duda... si tenes una consulta
"SELECT * from xxx WHERE .." para usar esto q queres seria
Código PHP:
$busqueda = "SELECT * from tabla WHERE 1=1";
" y luego segun los filtros modificas la consulta
.. si te pasan titulo entonces..
Código PHP:
if (!empty($_POST['titulo'])) $titulo = " AND titulo='".mysql_real_escape_string($_POST['titulo'])."'";
y ahi haces
Código PHP:
$busqueda.= $titulo
.. y asi con todas...
edit: no se como son los equivalentes en oracle...