Respuesta: Listar resultados de tres consultas. Gonzalo, me parece que debe de haber algo que no esta bien porque la consulta sql no me encuentra los datos. Te lo pongo con algunas modificaciones que ya había hecho antes.
Este es el código que has modificado: Código PHP: <?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')";} 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%'";} // Ordenar por $vorder = $_POST['orderby']; if($vorder != ''){ $sql .= " ORDER BY ".$vorder; } $query = mysql_query($sql); if (!$sql) { die('Consulta no válida: ' . mysql_error()); } if (mysql_num_rows($query)>0 ) {
$datos = array(); while($row = mysql_fetch_array($query)) { if($row["qnum"]==0) $style=""; if($row["qnum"]==1)$style="background-color:yellow"; if($row["qnum"]==2)$style="background-color:orange"; $datos[] = array( 'id_aviso' => $row['id_aviso'], 'telefonos' => $row['telefonos'], 'name' => utf8_encode($row['name']), 'apellidos' => utf8_encode($row['apellidos']), 'calle' => utf8_encode($row['calle']), 'localidad' => utf8_encode($row['localidad']), 'style' => $style ); } // convertimos el array de datos a formato json echo json_encode($datos); /* Tienes resultados. */ }else{ /*No tienes resultados. */ echo '[]'; } } ?> Y este otro el que yo tenía antes con muchas sqls: Código PHP: <?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']; if ( ! empty($vte)) { $sql ="(SELECT 0 as qnum,A.id_aviso,A.telefonos,A.telefonos3,A.movil,A.dni,A.name,A.apellidos,B.localidad,B.calle FROM clientes A,dir_clientes B WHERE A.id_aviso=B.id_aviso AND B.calle != '' AND A.telefonos='$vte') UNION ALL (SELECT 1 as qnum,id_aviso,telefonos,telefonos3,movil,dni,name,apellidos,localidad,calle FROM avisos WHERE telefonos='$vte' ) UNION ALL (SELECT 2 as qnum,U.id_aviso,U.telefonos,U.telefonos3,U.movil,U.dni,U.name,U.apellidos,D.localidad,D.calle FROM usuarios U,dir_usuarios D WHERE U.id_aviso=D.id_aviso AND D.calle != ''AND U.telefonos='$vte')"; } if ( ! empty($movil)) { $sql ="(SELECT 0 as qnum,A.id_aviso,A.telefonos,A.telefonos3,A.movil,A.dni,A.name,A.apellidos,B.localidad,B.calle FROM clientes A,dir_clientes B WHERE A.id_aviso=B.id_aviso AND B.calle != '' AND A.movil='$movil') UNION ALL (SELECT 1 as qnum,id_aviso,telefonos,telefonos3,movil,dni,name,apellidos,localidad,calle FROM avisos WHERE movil='$movil' ) UNION ALL (SELECT 2 as qnum,U.id_aviso,U.telefonos,U.telefonos3,U.movil,U.dni,U.name,U.apellidos,D.localidad,D.calle FROM usuarios U,dir_usuarios D WHERE U.id_aviso=D.id_aviso AND D.calle != ''AND U.movil='$movil')"; } if ( ! empty($dni)) { $sql ="(SELECT 0 as qnum,A.id_aviso,A.telefonos,A.telefonos3,A.movil,A.dni,A.name,A.apellidos,B.localidad,B.calle FROM clientes A,dir_clientes B WHERE A.id_aviso=B.id_aviso AND B.calle != '' AND A.dni='$dni') UNION ALL (SELECT 1 as qnum,id_aviso,telefonos,telefonos3,movil,dni,name,apellidos,localidad,calle FROM avisos WHERE dni='$dni' ) UNION ALL (SELECT 2 as qnum,U.id_aviso,U.telefonos,U.telefonos3,U.movil,U.dni,U.name,U.apellidos,D.localidad,D.calle FROM usuarios U,dir_usuarios D WHERE U.id_aviso=D.id_aviso AND D.calle != ''AND U.dni='$dni')"; } if ( ! empty($calle)) { $sql ="(SELECT 0 as qnum,A.id_aviso,A.telefonos,A.telefonos3,A.movil,A.dni,A.name,A.apellidos,B.localidad,B.calle FROM clientes A,dir_clientes B WHERE A.id_aviso=B.id_aviso AND B.calle != '' AND B.calle like '%$calle%')
UNION ALL (SELECT 1 as qnum,id_aviso,telefonos,telefonos3,movil,dni,name,apellidos,localidad,calle FROM avisos WHERE calle like '%$calle%') UNION ALL
(SELECT 2 as qnum, U.id_aviso,U.telefonos,U.telefonos3,U.movil,U.dni,U.name,U.apellidos,D.localidad,D.calle FROM usuarios U,dir_usuarios D WHERE U.id_aviso=D.id_aviso AND D.calle != ''AND D.calle like '%$calle%')"; }
if ( ! empty($ape)) { $sql ="(SELECT 0 as qnum,A.id_aviso,A.telefonos,A.telefonos3,A.movil,A.dni,A.name,A.apellidos,B.localidad,B.calle FROM clientes A,dir_clientes B WHERE A.id_aviso=B.id_aviso AND B.calle != '' AND A.apellidos like '%$ape%')
UNION ALL (SELECT 1 as qnum,id_aviso,telefonos,telefonos3,movil,dni,name,apellidos,localidad,calle FROM avisos WHERE apellidos like '%$ape%') UNION ALL
(SELECT 2 as qnum, U.id_aviso,U.telefonos,U.telefonos3,U.movil,U.dni,U.name,U.apellidos,D.localidad,D.calle FROM usuarios U,dir_usuarios D WHERE U.id_aviso=D.id_aviso AND D.calle != ''AND U.apellidos like '%$ape%')"; } if ( ! empty($name)) { $sql ="(SELECT 0 as qnum,A.id_aviso,A.telefonos,A.telefonos3,A.movil,A.dni,A.name,A.apellidos,B.localidad,B.calle FROM clientes A,dir_clientes B WHERE A.id_aviso=B.id_aviso AND B.calle != '' AND A.name like '%$name%')
UNION ALL (SELECT 1 as qnum,id_aviso,telefonos,telefonos3,movil,dni,name,apellidos,localidad,calle FROM avisos WHERE name like '%$name%') UNION ALL
(SELECT 2 as qnum, U.id_aviso,U.telefonos,U.telefonos3,U.movil,U.dni,U.name,U.apellidos,D.localidad,D.calle FROM usuarios U,dir_usuarios D WHERE U.id_aviso=D.id_aviso AND D.calle != ''AND U.name like '%$name%')"; } if ( ! empty($loca)) { $sql ="(SELECT 0 as qnum,A.id_aviso,A.telefonos,A.telefonos3,A.movil,A.dni,A.name,A.apellidos,B.localidad,B.calle FROM clientes A,dir_clientes B WHERE A.id_aviso=B.id_aviso AND B.calle != '' AND B.localidad like '%$loca%')
UNION ALL (SELECT 1 as qnum,id_aviso,telefonos,telefonos3,movil,dni,name,apellidos,localidad,calle FROM avisos WHERE localidad like '%$loca%') UNION ALL
(SELECT 2 as qnum, U.id_aviso,U.telefonos,U.telefonos3,U.movil,U.dni,U.name,U.apellidos,D.localidad,D.calle FROM usuarios U,dir_usuarios D WHERE U.id_aviso=D.id_aviso AND D.calle != ''AND D.localidad like '%$loca%')"; }
// Ordenar por $vorder = $_POST['orderby']; if($vorder != ''){ $sql .= " ORDER BY ".$vorder; } $query = mysql_query($sql); if (!$sql) { die('Consulta no válida: ' . mysql_error()); } if (mysql_num_rows($query)>0 ) {
$datos = array(); while($row = mysql_fetch_array($query)) { if($row["qnum"]==0) $style=""; if($row["qnum"]==1)$style="background-color:yellow"; if($row["qnum"]==2)$style="background-color:orange"; $datos[] = array( 'id_aviso' => $row['id_aviso'], 'telefonos' => $row['telefonos'], 'name' => utf8_encode($row['name']), 'apellidos' => utf8_encode($row['apellidos']), 'calle' => utf8_encode($row['calle']), 'localidad' => utf8_encode($row['localidad']), 'style' => $style ); } // convertimos el array de datos a formato json echo json_encode($datos); /* Tienes resultados. */ }else{ /*No tienes resultados. */ echo '[]'; } } ?> Gracias. |