@satjaen: Como te comenté
en el Foro de MySQL, para mi te estás complicando innecesariamente.
Por un lado, todas las consultas tienen esta estructura en común (limpié un poco de basura):
Código MySQL:
Ver original 0 qnum,
A.id_aviso,
A.telefonos,
A.telefonos3,
A.movil,
A.dni,
A.`name`,
A.apellidos,
B.localidad,
B.calle
clientes A
INNER JOIN dir_clientes B
ON A.id_aviso
=B.id_aviso
B.calle
!= '' AND $condicion
1 qnum,
id_aviso,
telefonos,
telefonos3,
movil,
dni,
`name`,
apellidos,
localidad,
calle
avisos
$condicion
2 qnum,
U.id_aviso,
U.telefonos,
U.telefonos3,
U.movil,
U.dni,
U.`name`,
U.apellidos,
D.localidad,
D.calle
usuarios U
INNER JOIN dir_usuarios D
ON U.id_aviso
=D.id_aviso
D.calle != ''
Por otro lado, $condicion en tu ejemplo, puede tener estas formas:
Cita: telefonos = '$vte'
movil = '$movil'
dni = '$dni'
calle LIKE '%$calle%'
apellidos LIKE '%$ape%'
`name` LIKE '%$name%'
localidad LIKE '%$loca%'
En ese contexto, entonces, lo que deberías hacer es por un lado crear la variable que cargue la condición, y por otro crear la consulta.
Tal vez algo así (no soy muy experto en PHP, por lo que deberás perdonar si hay errores):
Código PHP:
Ver original<?php
include("Connections/conexion.php");
if ($_GET["action"] == "listar") {
// valores recibidos por POST
$vte = $_POST['telefonos'];
$ape = $_POST['apellidos'];
$name = $_POST['name'];
$dni = $_POST['dni'];
$calle = $_POST['calle'];
$movil = $_POST['movil'];
$loca = $_POST['localidad'];
$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
$orden;";
$condicion = "";
$orden = "";
if (!empty($vte)) {$condicion = "telefonos='$vte')";} {$condicion = "movil = '$movil'";}
else {$condicion .= "AND movil = '$movil'";}
{$condicion = "calle dni = '$dni'";}
else {$condicion .= "AND dni = '$dni'";}
{$condicion = "calle like '%$calle%'";}
else {$condicion .= "AND calle LIKE '%$calle%'";}
{$condicion = " apellidos LIKE '%$ape%'";}
else {$condicion .= "AND apellidos LIKE '%$ape%'";}
{$condicion = "`name` LIKE '%$name%'";}
else {$condicion .= "AND `name` LIKE '%$name%'";}
{$condicion = "localidad LIKE '%$loca%'";}
else {$condicion .= "AND localidad LIKE '%$loca%'";}
// Ordenar por
$vorder = $_POST['orderby'];
if ($vorder != '') {
$orden= " ORDER BY " . $vorder;
}
'id_aviso' => $row['id_aviso'],
'telefonos' => $row['telefonos'],
);
}
// convertimos el array de datos a formato json
/* Tienes resultados. */
}
}
?>