Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2013, 18:42
Avatar de satjaen
satjaen
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 8 meses
Puntos: 10
Listar resultados de tres consultas.

Hola, por favor tengo un código en el cual hago búsquedas a mi base de datos. Tiene tres consultas sql,sql1,sql2 y el problema es que si en la primera consulta sql encuentra resultados ya no me lista los resultados de las demas consultas sql1,sql2 y si que hay coincidencias en las tres. Como puedo hacer para que me liste si hay datos de las tres consultas o de dos o una sola.

Código Javascript:
Ver original
  1. <?php  
  2. include("Connections/conexion.php");
  3. if ($_GET["action"] == "listar")
  4. {
  5.     // valores recibidos por POST
  6.     $vte = $_POST['telefonos'];
  7.     $ape = $_POST['apellidos'];
  8.     $name = $_POST['name'];
  9.     $dni = $_POST['dni'];
  10.     $calle = $_POST['calle'];
  11.     $movil = $_POST['movil'];
  12.     $loca = $_POST['localidad'];
  13.    
  14. if ( ! empty($vte)) {
  15.     $sql = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  16. FROM clientes U,dir_clientes D
  17. WHERE  U.id_aviso=D.id_aviso AND U.telefonos='$vte' AND D.calle != ''";
  18. }
  19. if ( ! empty($movil)) {
  20.     $sql = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  21. FROM clientes U,dir_clientes D
  22. WHERE  U.id_aviso=D.id_aviso AND U.movil='$movil' AND D.calle != ''";
  23. }
  24. if ( ! empty($calle)) {
  25.     $sql = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  26. FROM clientes U,dir_clientes D
  27. WHERE  U.id_aviso=D.id_aviso AND D.calle like '%$calle%' AND D.calle != ''";
  28. }
  29. if ( ! empty($loca)) {
  30.     $sql = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  31. FROM clientes U,dir_clientes D
  32. WHERE  U.id_aviso=D.id_aviso AND D.localidad like '%$loca%' AND D.calle != ''";
  33. }
  34.     // Ordenar por
  35.     $vorder = $_POST['orderby'];
  36.      
  37.     if($vorder != ''){
  38.         $sql .= " ORDER BY ".$vorder;
  39.     }
  40.      
  41.     $query = mysql_query($sql);
  42. if (mysql_num_rows($query) > 0) {
  43.          
  44.   $datos = array();
  45.      
  46.     while($row = mysql_fetch_array($query))
  47.     {
  48.         $datos[] = array(
  49.             'id_aviso'          => $row['id_aviso'],
  50.             'telefonos'          => $row['telefonos'],
  51.             'name'      => utf8_encode($row['name']),
  52.             'apellidos'       => utf8_encode($row['apellidos']),
  53.             'calle'       => utf8_encode($row['calle']),
  54.             'localidad'        => utf8_encode($row['localidad'])
  55.            
  56.         );
  57.     }
  58.     // convertimos el array de datos a formato json
  59.     echo json_encode($datos);
  60. /* Tienes resultados. */
  61. } else{
  62. /* No hay resultados, hacer la segunda consulta a la otra tabla. */
  63. if (mysql_num_rows($query) == 0){
  64.  
  65. if ( ! empty($vte)) {
  66. $sql1 = "SELECT telefonos,name,apellidos,id_aviso,localidad,calle FROM  avisos  WHERE telefonos='$vte'";
  67. }
  68. if ( ! empty($movil)) {
  69. $sql1 = "SELECT telefonos,name,apellidos,id_aviso,localidad,calle FROM  avisos  WHERE movil='$movil'";
  70. }
  71. if ( ! empty($name)) {
  72. $sql1 = "SELECT telefonos,name,apellidos,id_aviso,localidad,calle  FROM  avisos  WHERE name LIKE '%$name%'";
  73. }
  74. if ( ! empty($dni)) {
  75. $sql1 = "SELECT telefonos,name,apellidos,id_aviso,localidad,calle  FROM  avisos  WHERE dni LIKE '%$dni%'";
  76. }
  77. if ( ! empty($calle)) {
  78. $sql1 = "SELECT telefonos,name,apellidos,id_aviso,localidad,calle  FROM  avisos  WHERE calle LIKE '%$calle%'";
  79. }
  80. if ( ! empty($loca)) {
  81. $sql1 = "SELECT telefonos,name,apellidos,id_aviso,localidad,calle  FROM  avisos  WHERE localidad LIKE '%$loca%'";
  82. }            
  83.  
  84.     // Ordenar por
  85.     $vorder = $_POST['orderby'];
  86.      
  87.     if($vorder != ''){
  88.         $sql1 .= " ORDER BY ".$vorder;
  89.     }
  90.      
  91.     $query = mysql_query($sql1);
  92. if (mysql_num_rows($query) > 0) {
  93.          
  94.   $datos = array();
  95.      
  96.     while($row = mysql_fetch_array($query))
  97.     {
  98.         $datos[] = array(
  99.             'id_aviso'          => $row['id_aviso'],
  100.             'telefonos'          => $row['telefonos'],
  101.             'name'      => $row['name'],
  102.             'apellidos'       => $row['apellidos'],
  103.             'calle'       => utf8_encode($row['calle']),
  104.             'localidad'        => $row['localidad'],
  105.             'style'            => 'background-color:yellow;'
  106.         );
  107.     }
  108.     // convertimos el array de datos a formato json
  109.     echo json_encode($datos);
  110. /* Tienes resultados. */
  111. } else{
  112. /* No hay resultados, hacer la tercera consulta a la otra tabla. */
  113. if (mysql_num_rows($query) == 0){
  114. if ( ! empty($vte)) {
  115.     $sql2 = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  116. FROM usuarios U,dir_usuarios D
  117. WHERE  U.id_aviso=D.id_aviso AND U.telefonos='$vte'";
  118. }
  119. if ( ! empty($movil)) {
  120.     $sql2 = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  121. FROM usuarios U,dir_usuarios D
  122. WHERE  U.id_aviso=D.id_aviso AND U.movil='$movil'";
  123. }
  124. if ( ! empty($ape)) {
  125.     $sql2 = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  126. FROM usuarios U,dir_usuarios D  
  127. WHERE  U.id_aviso=D.id_aviso AND U.apellidos LIKE '%$ape%'";
  128. }
  129. if ( ! empty($name)) {
  130.     $sql2 = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  131. FROM usuarios U,dir_usuarios D  
  132. WHERE  U.id_aviso=D.id_aviso AND U.name LIKE '%$name%'";
  133. }
  134. if ( ! empty($dni)) {
  135.     $sql2 = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  136. FROM usuarios U,dir_usuarios D  
  137. WHERE  U.id_aviso=D.id_aviso AND U.dni LIKE '%$dni%'";
  138. }
  139. if ( ! empty($calle)) {
  140.     $sql2 = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  141. FROM usuarios U,dir_usuarios D  
  142. WHERE  U.id_aviso=D.id_aviso AND D.calle like '%$calle%'";
  143. }
  144. if ( ! empty($loca)) {
  145.     $sql2 = "SELECT U.id_aviso,U.telefonos,U.name,U.apellidos,D.localidad,D.calle
  146. FROM usuarios U,dir_usuarios D  
  147. WHERE  U.id_aviso=D.id_aviso AND D.localidad like '%$loca%'";
  148. }
  149.    // Ordenar por
  150.     $vorder = $_POST['orderby'];
  151.      
  152.     if($vorder != ''){
  153.         $sql2 .= " ORDER BY ".$vorder;
  154.     }
  155.      
  156.     $query = mysql_query($sql2);
  157.     $datos = array();
  158.     while($row = mysql_fetch_array($query))
  159.    
  160.    
  161.     {
  162.         $datos[] = array(
  163.             'id_aviso'          => $row['id_aviso'],
  164.             'telefonos'          => $row['telefonos'],
  165.             'name'      => utf8_encode($row['name']),
  166.             'apellidos'       => utf8_encode($row['apellidos']),
  167.             'calle'       => utf8_encode($row['calle']),
  168.             'localidad'        => $row['localidad'],
  169.             'style'            => 'background-color:orange;'
  170.         );
  171.        }
  172.     // convertimos el array de datos a formato json
  173.     echo json_encode($datos);  
  174.   }
  175.  }
  176.     }
  177.   }
  178. }
  179. ?>


Gracias y un saludo