Foros del Web » Programando para Internet » PHP »

Problema con Corte de control

Estas en el tema de Problema con Corte de control en el foro de PHP en Foros del Web. Buenas, les presento mi problema: Tengo un corte de control que funciona bien. Trae primero Provincias, luego Localidades y por ultimo Clasificados. Lo que intento ...
  #1 (permalink)  
Antiguo 24/06/2008, 12:50
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Problema con Corte de control

Buenas, les presento mi problema:

Tengo un corte de control que funciona bien.
Trae primero Provincias, luego Localidades y por ultimo Clasificados.
Lo que intento hacer es que cuando no tenga clasificados publicados en ciertas localidades no me muestre el nombre de la localidad.
La forma que tiene la salida es la siguiente:

-Provincia #01

--Localdiad #01
---Clasificado #01
---Clasificado #02
---Clasificado #03

--Localidad #02
---Clasificado #04
---Clasificado #05

-Provincia #02

--Localidad #03

..... y asi pero con la difenrencia que esta ultima localidad y provincia no deberia mostrarse porque no tiene clasificado.

Muchas gracias por la ayuda.


Código PHP:
<?
    
include("provincias-conexion.php");
    
$sql1 "select * from provincias";
    
$result1=mysql_query($sql1);
    while (
$row1 mysql_fetch_array($result1))
        {
        
$id=$row1['id'];
        echo 
"<p>".$row1['provincia']."</p>";
        include(
"localidades-conexion.php");
        
$sql2="select * from localidades where provincia = $id";
        
$res2=mysql_query($sql2); 
        while (
$row2 mysql_fetch_array($res2))
        {
            
$id2=$row2['id'];         
            echo 
"<p>".$row2['localidad']." </p>";
            include(
"clasificados-conexion.php");
            
$sql3="select * from clasificados where localidad = $id2 AND rubro = $rubro";
            
$res3=mysql_query($sql3); 
            while (
$row3 mysql_fetch_array($res3))
            {
                echo 
"<p>".$row3['titulo']."</p>";
            }
        }
        }
?>

Última edición por Spychaser; 24/06/2008 a las 12:59
  #2 (permalink)  
Antiguo 24/06/2008, 13:46
 
Fecha de Ingreso: mayo-2006
Mensajes: 124
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Problema con Corte de control

y en la consulta de localidades le haces un inner join a clasificados y agregas una clausula WHERE clasificado >0 ???
  #3 (permalink)  
Antiguo 24/06/2008, 15:39
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Problema con Corte de control

gutibs
Gracias por tu respuesta, pero tengo el problema que las tablas provincias y localidades estan en una base de datos y clasificados en otra.
Hay solucion?

Muchas gracias
  #4 (permalink)  
Antiguo 24/06/2008, 19:49
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Respuesta: Problema con Corte de control

Buenas, seguirmos en la lucha, pense lo siguiente pero no me dio el resultado esperado, es decir:

logro listar absolutamente todas las provincias y localidades y en donde corresponda el clasificado aparece, pero tambien me lista las provincias y localdiades que no tienen ningun clasificado.

Muchas gracias

Código PHP:
<?
    
include("provincias-conexion.php");
    
$sql1 "select * from provincias";
    
$result1=mysql_query($sql1);
    while (
$row1 mysql_fetch_array($result1))
        {
        
$id=$row1['id'];
        
        include(
"clasificados-conexion.php");
        
$sql4="select * from clasificados where provincia = $id";
        
$result4=mysql_query($sql4);
        if (
$result4) { 
        if  (
mysql_num_rows($result4)>=1);
        { echo 
$row1['provincia']; }
        }
    
        include(
"localidades-conexion.php");
        
$sql2="select * from localidades where provincia = $id";
        
$res2=mysql_query($sql2); 
        while (
$row2 mysql_fetch_array($res2))
        {
            
$id2=$row2['id'];
            
            include(
"clasificados-conexion.php");
            
$sql5="select * from clasificados where localidad = $id2";
            
$result5=mysql_query($sql5);
            if (
$result5) { 
            if  (
mysql_num_rows($result5)>=1);
            { echo 
$row2['localidad']; }

            }

            include(
"clasificados-conexion.php");
            
$sql3="select * from clasificados where localidad = $id2 AND rubro = $rubro";
            
$res3=mysql_query($sql3); 
            while (
$row3 mysql_fetch_array($res3))
            {
            echo 
"<p>".$row3['titulo']."</p>";
            }
        }
        }
?>
  #5 (permalink)  
Antiguo 25/06/2008, 06:40
 
Fecha de Ingreso: mayo-2006
Mensajes: 124
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Problema con Corte de control

y si la haces mas facil y pones las tablas en una sola BD?

digo, seria bastante mas facil...
  #6 (permalink)  
Antiguo 25/06/2008, 10:21
 
Fecha de Ingreso: agosto-2006
Ubicación: Argentina, Bahia Blanca
Mensajes: 172
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Problema con Corte de control

gutibs
Muchas gracias por la ayuda, logre resolverlo asi, no creo que sea la mejor forma, pero anda:

Código PHP:
<?
    
include("provincias-conexion.php");
    
$sql1 "select * from provincias";
    
$result1=mysql_query($sql1);
    while (
$row1 mysql_fetch_array($result1))
        {
        
$id=$row1['id'];
        
        include(
"clasificados-conexion.php");
        
$sql4="select * from clasificados where provincia = $id AND rubro = $rubro";
        
$result4=mysql_query($sql4);
        if (
$result4) { 
        if  (
mysql_num_rows($result4)>=1)
        { echo 
"<h2>".$row1['provincia']."</h2>"; }
        }
    
        include(
"localidades-conexion.php");
        
$sql2="select * from localidades where provincia = $id";
        
$res2=mysql_query($sql2); 
        while (
$row2 mysql_fetch_array($res2))
        {
            
$id2=$row2['id'];
            
            include(
"clasificados-conexion.php");
            
$sql5="select * from clasificados where localidad = $id2 AND rubro = $rubro";
            
$result5=mysql_query($sql5);
            if (
$result5) { 
            if  (
mysql_num_rows($result5)>=1)
            { echo 
"<h3>".$row2['localidad']."</h3>"; }

            }

            include(
"clasificados-conexion.php");
            
$sql3="select * from clasificados where localidad = $id2 AND rubro = $rubro";
            
$res3=mysql_query($sql3); 
            while (
$row3 mysql_fetch_array($res3))
            {
            echo 
"<div class='rubro-clasificados-ver'><div class='rubro-clasificados'><p><strong>".$row3['titulo']."</strong> ".$row3['texto']." ".$row3['descuento']." ";
            if (
$row3['web'])
            { echo 
"<a href='".$row3['web']."' target='_blank'>".$row3['web']."</a>"; }
            echo 
"</p>";
            if (
$row3['email'])
            { echo 
"<p><a href='clasificados-contactar.php?id=".$row3['id']."'><img src='images/email.png' alt='CONTACTAR' class='contactar' /> CONTACTAR</a></p>"; }
            echo 
"</div></div>";
            }
        }
        }
?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:33.