Ver Mensaje Individual
  #18 (permalink)  
Antiguo 25/02/2013, 14:05
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
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)>) {

         
  
$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)>) {

         
  
$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.