yo he copiado tú código tal cual estaba!
el caso es que debes, sacar tu SELECT * FROM tabla_X fuera de donde creas las cláusulas WHERE, donde pones los parámetros. Entonces sino hay parámetros te cargará todos los resultados - si hay parámetros entrará en tú IF y creará la cláusula WHERE.
algo así debería irte! es tu código algo modificado y optimizado, para comprobar las variables no debes poner tantos else if -
Código PHP:
Ver original<?php
// Inicializamos la variable
$clausula_where = "";
// Esta funcion te devuelve WHERE o AND para montar tu clausula WHERE de la sentencia SQL
function FWhere($clausula_where) { return ($clausula_where == '') ? ' WHERE ' : "$clausula_where AND "; }
// Comprobamos primer parámetro
// Si existe miramos la funcion FWhere - para saber si hay que poner un WHERE o un AND a la clausula
$clausula_where = Fwhere($clausula_where) ." tb1.Nombre LIKE '%".$nombre."%' ";
}
// Comprobamos Segundo parámetro
// Si existe miramos la funcion FWhere - para saber si hay que poner un WHERE o un AND a la clausula
// En este caso si existiera la variable anterior la funcion FWHERE te devolveria un AND
$clausula_where = Fwhere($clausula_where) ." tb1.Localidad LIKE '%$nombre%' ";
}
// Comprobamos Tercer parámetro
// Si existe miramos la funcion FWhere - para saber si hay que poner un WHERE o un AND a la clausula
// En este caso si existiera alguna de las variables anteriores la funcion FWHERE te devolveria un AND
$clausula_where = Fwhere($clausula_where) ." tb1.Provincia LIKE '%$provincia%' ";
}
// Comprobamos Cuarto parámetro
// Si existe miramos la funcion FWhere - para saber si hay que poner un WHERE o un AND a la clausula
// En este caso si existiera alguna de las variables anteriores la funcion FWHERE te devolveria un AND
$clausula_where = Fwhere($clausula_where) ." tb1.CIF LIKE '%$nombre%' ";
}
// En este caso si existiera alguna de las variables anteriores la funcion FWHERE te devolveria un AND
$clausula_where = Fwhere($clausula_where)." tb2.nom_usuario = '".$user."'";
$clausula_where .= " ORDER BY Nombre ASC";
// Creamos la Sentencia SQL y le pasamos la variable clausula_where
$sql= " SELECT * FROM lista_clientes as tb1 INNER JOIN usuario_zona as tb2
ON tb1.Zona = tb2.Zona ".$clausula_where;
// Para provar el codigo puedes imprimir la sentencia por pantalla para ver que sale
echo $sql;
{
?>
<form action="index.php" name="form2" method="post">
<input type="submit" name="nuevo" value="Crear Nuevo Cliente" style="border-radius:15px" class="button large orange" />
</form>
<?php
}else{
echo "No hay Resultados";
}
?>
espero que te sirva!
Saludos