Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2004, 07:37
undariarose
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 3 meses
Puntos: 0
Superconsulta problematica

Hola. escribi antes unos mensajes que nadie contesto y me estoy volviendo loco con esta consulta. no se mucho de esto, estoy haciendo mis pinitos y necesito una ayudita. A modo de resumen os cuento lo que quiero.

en una tabla tengo varios campos que son categorias jerarquicas, es decir, que en uno hay varios de la categoria inferior y así. Lo que quiero es que me salgan todos listados a modo de esquema.

La consulta que tengo es

Código PHP:
<?
require_once('../Connections/Astur.php');
if (isset(
$_GET['fil'])) {
  
$colname_Recordset0 = (get_magic_quotes_gpc()) ? $_GET['fil'] : addslashes($_GET['fil']);
}
mysql_select_db($database_Astur$Astur);
$level0 sprintf("SELECT Filum, SubFilum FROM astur WHERE Filum = '%s'"$colname_Recordset0);
$Recordlevel0 mysql_query($level0$Astur) or die(mysql_error());
echo 
$_GET['fil']; echo "<br>";
while(
$row mysql_fetch_array($Recordlevel0)){
     echo 
"Subf  ".$row['SubFilum'];
     echo 
"<br>";
     
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $row['SubFilum'] : addslashes($row['SubFilum']);
     
$level1 sprintf("SELECT SubFilum, Clase FROM astur WHERE SubFilum = '%s'"$colname_Recordset1);
     
$Recordlevel1 mysql_query($level1$Astur) or die(mysql_error());
     while(
$row mysql_fetch_array($Recordlevel1)){
         echo 
"Clase  ".$row['Clase'];
         echo 
"<br>";     
         
$colname_Recordset2 = (get_magic_quotes_gpc()) ? $row['Clase'] : addslashes($row['Clase']);
         
$level2 sprintf("SELECT Clase, SubClase FROM astur WHERE Clase = '%s'"$colname_Recordset2);
         
$Recordlevel2 mysql_query($level2$Astur) or die(mysql_error());
         while(
$row mysql_fetch_array($Recordlevel2)){
             echo 
"Subclase  ".$row['SubClase'];
             echo 
"<br>";     
             
$colname_Recordset3 = (get_magic_quotes_gpc()) ? $row['SubClase'] : addslashes($row['SubClase']);
             
$level3 sprintf("SELECT SubClase, SuperOrden FROM astur WHERE SubClase = '%s'"$colname_Recordset3);
             
$Recordlevel3 mysql_query($level3$Astur) or die(mysql_error());
             while(
$row mysql_fetch_array($Recordlevel3)){
                 echo 
"Superorden  ".$row['SuperOrden'];
                 echo 
"<br>";    
                 
$colname_Recordset4 = (get_magic_quotes_gpc()) ? $row['SuperOrden'] : addslashes($row['SuperOrden']);
                 
$level4 sprintf("SELECT SuperOrden, Orden FROM astur WHERE SuperOrden = '%s'"$colname_Recordset4);
                 
$Recordlevel4 mysql_query($level4$Astur) or die(mysql_error());
                 while(
$row mysql_fetch_array($Recordlevel4)){
                     echo 
"Orden  ".$row['Orden'];
                     echo 
"<br>";    
                     
$colname_Recordset5 = (get_magic_quotes_gpc()) ? $row['Orden'] : addslashes($row['Orden']);
                     
$level5 sprintf("SELECT Orden, SubOrden FROM astur WHERE Orden = '%s'"$colname_Recordset5);
                     
$Recordlevel5 mysql_query($level5$Astur) or die(mysql_error());
                     while(
$row mysql_fetch_array($Recordlevel5)){
                         echo 
"Suborden  ".$row['SubOrden'];
                         echo 
"<br>";    
                         
$colname_Recordset6 = (get_magic_quotes_gpc()) ? $row['SubOrden'] : addslashes($row['SubOrden']);
                          
$level6 sprintf("SELECT SubOrden, InfraOrden FROM astur WHERE SubOrden = '%s'"$colname_Recordset6);
                         
$Recordlevel6 mysql_query($level6$Astur) or die(mysql_error());
                         while(
$row mysql_fetch_array($Recordlevel6)){
                             echo 
"Infraorden  ".$row['InfraOrden'];
                             echo 
"<br>";    
                         }
                         
mysql_free_result($Recordlevel6);     
                     }
                     
mysql_free_result($Recordlevel5);             
                 }
                 
mysql_free_result($Recordlevel4);             
             }
             
mysql_free_result($Recordlevel3);
            }        
         
mysql_free_result($Recordlevel2);
    }
    
mysql_free_result($Recordlevel1);
}
mysql_free_result($Recordlevel0);
?>
pero lo que sale es un listado de todos los registros y en el registro que pilla en blanco no sigue examinando.

que hago?