me parece que el segundo if anula el primero, prueba asi
Código PHP:
if(isset($_POST['seccion']) and $_POST['seccion'] != "todos"){
$where = "where cliente = '".$_POST['seccion']."'";
$sql = "select * from banners $where LIMIT ".(($pagina-1) * $filas_pagina).",".$filas_pagina;
}
elseif(isset($_POST['parte']) and $_POST['parte'] != "todas"){
$where = "where posicion = '".$_POST['parte']."'";
$sql = "select * from banners $where LIMIT ".(($pagina-1) * $filas_pagina).",".$filas_pagina;
}else{
$sql = "select * from banners limit ".(($pagina-1)*$filas_pagina).",".$filas_pagina;
}