Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/09/2003, 21:01
Antigol
 
Fecha de Ingreso: mayo-2003
Ubicación: Buenos Aires
Mensajes: 97
Antigüedad: 20 años, 11 meses
Puntos: 0
Gracias webstudio y nok por responder!! ya lo arreglé con el link que me mandaste.

Ahora tengo otra pregunta:

Yo estoy haciendo un foro y estoy haciendo la página principal que tiene que salir asi:

Categoria 1
Foro 1
Foro 2
Categoria 2
Foro 3

Algo asi. Yo hice una consulta que me tira los datos asi

id_foro nombre id_categoria
1 Futbol 1
2 Basket 1
3 Software 2

Me tira 3 registros con su respectiva categoria por lo que hago un while mysql fetch array para que de las 3 vueltas.

Dentro de ese while tengo dos IF

Uno detecta si la categoria fue escrita, si no fue escrita la escribe poniendo

Categoria 1

Después pasa al segundo IF donde tiene que escribir el primer foro de esa categoria. Da la vuelta y como la categoria ya fue escrita y el segundo foro pertenece a esa categoria entonces no entra en el IF y pasa al segundo, al de los foros y lo escribe.

Esa es la lógica que uso, sin templates anda perfecto, sin problemas.

El problema es que no le encuentro la vuelta a la lógica a utilizar con templates.


Código PHP:
 while($recordset=mysql_fetch_array($conectar->consultar))  {
         if (
$recordset["id_categoria"]!=$categoria) {
             
$html->asignar('TITULO_CAT',$recordset['titulo_cat']);
             
$categoria=$recordset["id_categoria"];
             
$html->expandir('FILAS_CAT','+categoria');
         } 
         if (
$recordset["id_categoria"]==$categoria) {
             
          
$html->asignar('TITULO_FORO',$recordset["titulo_foro"]);
          
$html->asignar('DESCRIPCION_FORO',$recordset["descripcion_f"]);
          
$html->asignar('CANT_TOPICS',$cant_t);
          
$html->asignar('CANT_POST',$cant_p);
          
$html->asignar('NICK',$recordset["nick_u"]);
          
$html->asignar('ID_USUARIO',$recordset["id_usuario"]);
          
$html->asignar('FECHAHORA',$recordset["fechahora_p"]);
          
$html->asignar('GRAFICO','');
          
$html->asignar('LINKFORO','');
          
$html->expandir('FILAS_FORO','+foro');
          
          
          }
    }
$html->expandir('contenido''categoria');      
$html->imprimir('contenido'); 

En el html tengo algo asi

Código PHP:
 {FILAS_CAT}
<!-- 
inicioBloquecategoria -->

<
tabla>
VARIABLES
</tabla>

{
FILAS_FORO}
<!-- 
inicioBloqueforo -->
<
tabla>
Variables
</tabla>
<!-- 
finBloqueforo -->
<!-- 
finBloquecategoria --> 
El problema es que me escribe las dos categorias, pero los 3 foros los escribe todos debajo de la última.

Quiero aclarar de nuevo que sin usar templates anda bien (como para dejar atrás dudas si anda bien o mal el código php) el problema es que no se si entendí bien la lógica de como trabaja el template.

Saludos

Última edición por Antigol; 18/09/2003 a las 21:26