La consulta está perfecta:
Código MySQL:
Ver original$sql = "SELECT
0 qnum,
A.id_aviso,
A.telefonos,
A.telefonos3,
A.movil,
A.dni,
A.name,
A.apellidos,
B.localidad,
B.calle
FROM
clientes A INNER JOIN dir_clientes B ON A.id_aviso=B.id_aviso
WHERE
B.calle != '' AND $condicion
UNION ALL
SELECT
1 qnum,
id_aviso,
telefonos,
telefonos3,
movil,
dni,
name,
apellidos,
localidad,
calle
FROM
avisos
WHERE
$condicion
UNION ALL
SELECT
2 qnum,
U.id_aviso,
U.telefonos,
U.telefonos3,
U.movil,
U.dni,
U.name,
U.apellidos,
D.localidad,
D.calle
FROM
usuarios U INNER JOIN dir_usuarios D ON U.id_aviso=D.id_aviso
WHERE
D.calle != ''
AND $condicion";
El problema está en las condiciones:
Código PHP:
// crear parametros
$condicion = "";
if (!empty($vte)) {$condicion = "telefonos='$vte')";}
if(empty ($condicion))
{$condicion = "movil = '$movil'";}
else {$condicion .= "AND movil = '$movil'";}
if(empty ($condicion))
{$condicion = "calle dni = '$dni'";}
else {$condicion .= "AND dni = '$dni'";}
if(empty ($condicion))
{$condicion = "calle like '%$calle%'";}
else {$condicion .= "AND calle LIKE '%$calle%'";}
if(empty ($condicion))
{$condicion = " apellidos LIKE '%$ape%'";}
else {$condicion .= "AND apellidos LIKE '%$ape%'";}
if(empty ($condicion))
{$condicion = "name LIKE '%$name%'";}
else {$condicion .= "AND name LIKE '%$name%'";}
if(empty ($condicion))
{$condicion = "localidad LIKE '%$loca%'";}
else {$condicion .= "AND localidad LIKE '%$loca%'";}