$idvendedor = $_REQUEST["idvendedor"]; es exactamente lo mismo que
$idvendedor = $_GET["idvendedor"]; y no te va a solucionar las cosas, si
idvendedor no fue proporcionado en la URL entonces vas a recibir un mensaje de error (o advertencia), por favor modifica esa parte como te sugerí en el mensaje anterior.
Yo sigo viendo la posibilidad de que haya dos o más " WHERE " en tu consulta (visto sólo supercifialmente), te sugiero que hagas lo siguiente:
Código PHP:
Ver original// Inicializas tu cadena
$sql = 'SELECT * FROM tabla';
// Creas un arreglo para ir guardando los filtros necesarios
// Analizas cada variable que pueda ser usada como filtro
if($idVendedor != 0) {
$filtros[] = "idvendedor = $idVendedor";
}
if($otraVariable != '') {
$filtros[] = "nombre_de_campo = '$otraVariable'";
}
// Al final, sólo revisas si hay filtros y los agregas
if(count($filtros) > 0) { $sql .= ' WHERE ' . implode(' AND ', $filtros); }
// Esta consulta debe estar correcta
// O puedes copiarla y pegarla en PhpMyAdmin para probarla ahí
echo $sql;