Solo veo 2 cosas :
1 :
Código PHP:
Ver original// Filtro 1
$filtro="and clavesede=".$_REQUEST["clavesede"];
// Filtro 2
$filtro="and(clavesede like '%".$_REQUEST["clavesede"]."%' or nombres like '%".$_REQUEST["clavesede"]."%')";
// Consulta
$rst_lider=mysql_query("SELECT * FROM lider ORDER BY nombres".$filtro.";",$conexion);
Primero, no dejas espacio entre "nombres" y el filtro, y segundo, el filtro está mal utilizado.
Si imprimes la cadena resultante, te daría estas dos opciones :
Código:
SELECT * FROM lider ORDER BY nombresand clavesede=valor_clavesde;
Código:
SELECT * FROM lider ORDER BY nombresand(clavesede like '%valor_clavesde%' or nombres like '%valor_clavesde%');
Luego, más abajo, haces esto :
Código PHP:
Ver original$rst_lider=mysql_query("SELECT * FROM lider ORDER BY nombres .$filtro. LIMIT $inicio,$registros;",$conexion);
Allí no estás concatenando la cadena $filtro. Simplemente estás pegando dos puntos a cada extremo de la cadena, resultando algo así :
Código:
SELECT * FROM lider ORDER BY nombres .and clavesede=valor_clavesde. LIMIT x,x
Creo que te hace falta leer un poco más de SQL.