Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/11/2009, 09:52
Avatar de marie_mar
marie_mar
 
Fecha de Ingreso: septiembre-2009
Mensajes: 26
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problemas con filtrado

Gracias Gerson, ya resolví lo del filtrado y lo hice así:

//Cargo variables diferenciando mayusculas y minusculas
$a = strtolower($filter);
$b = ucwords($a);
$c = strtoupper($filter);

Al armar la consulta me queda asi:
$filterstr = sqlstr($filter);
if (!$wholeonly && isset($wholeonly) && $filterstr!='') $filterstr = "%" .($filterstr) ."%";
$sqle = "SELECT * FROM (SELECT id, emp, org FROM public.n_emp) subq";
if (isset($filterstr) && $filterstr!='' && isset($filterfield) && $filterfield!='') {

//Aqui pregunto por todos los parametros posibles de filtrado

$sqle .= " where ( ".sqlstr($filterfield) ." like '%" .$filterstr ."%' ) or ( ".sqlstr($filterfield)." like '%".$b."%' ) or ( ".sqlstr($filterfield)." like '%".$a."%' ) or ( ".sqlstr($filterfield)." like '%".$c."%' )";
} elseif (isset($filterstr) && $filterstr!='') {

//Paso por todos los campos y parametros a filtrar
$sqle .= " where (id like '" .$filterstr ."') or (id like '" .$a ."') or (id like '" .$b ."') or (id like '" .$c ."') or (emp like '" .$filterstr ."') or (emp like '" .$a ."') or (emp like '" .$b ."') or (emp like '" .$c ."') or (org like '" .$filterstr ."') or (org like '" .$a ."') or (org like '" .$b ."') or (nci like '" .$c ."')";
}
if (isset($order) && $order!='') $sqle .= " order by \"" .sqlstr($order) ."\"";
if (isset($ordtype) && $ordtype!='') $sqle .= " " .sqlstr($ordtype);
$res = pg_query($conn, $sqle) or die(pg_last_error());

Gracias por tu colaboracion.....Saludos