Ver Mensaje Individual
  #8 (permalink)  
Antiguo 10/02/2010, 11:06
Avatar de vicram10
vicram10
 
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 9 meses
Puntos: 27
Respuesta: Ayuda con display PHP MySQL

Bueno solo fue un error mio...

Prueba con este y verifica los cambios hechos...

Solo cambiale en la parte de consultas y demas por que uso el mini framework que tengo...

Código PHP:
<?php
include("mysql.php");  //podes borrar por que a vos no te sirve este, es solo para mi
$db = new MySQL();  // igual que el anterior
//Sacar las categorias
$cat $db->consulta("SELECT id_cat, categoria FROM categorias ORDER  BY id_cat ASC");
echo 
'
<table align="center" style="border:1px solid" cellspacing="1" cellpadding="5">
    <tr>'
;
$i 1//Bandera    
$columnas 2;//Cantidad de columnas por fila
while($row_parent $db->fetch_array($cat)){                
    
//Sacar las subcategorias
    
$subcat $db->consulta("SELECT id_subcat, subcategoria, id_cat FROM subcategorias WHERE id_cat = ".$row_parent['id_cat']." ORDER BY id_cat ASC");
    
$count $db->num_rows($subcat);
    
//Si no hay una relacion entre cat y sub cat   imprimimos la categoria
    
if(empty($count))
    {
        echo 
"<td style=\"border:1px solid;background:#CCC\">
                <h2><a href=\"#\">"
.htmlspecialchars($row_parent['categoria'])."</a></h2>
              </td>"
;    
              
    }else{
        
//Sino imprimimos las cat y sus subcat
        
echo "<td style=\"border:1px solid;background:#CCC\"><h2>"htmlspecialchars($row_parent['categoria'])."</h2>";       
        echo 
"<ul>";//Creamos la tabla para la subcategoria
        
while($row_child $db->fetch_array($subcat))
        {    
            echo 
"<li><a href=\"#\">"htmlspecialchars($row_child['subcategoria'])."</a></li>";
        } 
//end while subcat
        //Cerramos la tabla creada
        
echo "</ul>";
        
//cerramos la columna
        
echo "</td>";
    } 
//end if
    
$i++;//Aumentamos la Bandera
    //Imprimimos la nueva categoria en otra fila si ya hay mas de 2 columnas
    //Se hace columna + 1 por que de esta forma siempre mantiene 2, sino se le agrega la cantidad de columnas se
    //desconfigura, porque, nose preguntenle a él xDDDDD
    
if ($i==$columnas+1)
    {
        echo 
"</tr><tr>";//Imprimimos la nueva fila cerrando la actual
        
$i=1;//igualamos la bandera a 1 para la siguiente fila
    
}
}
//end while cat  
echo '
    </tr>
</table>'
;

?>
De esta forma ya logramos lo que quieres..

El unico error era que cerraba el </td> y antes de comenzar las subcategorias y por eso creaba error, era poner ese cierre despues de imprimir todo y ya sale..

salu2