Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2007, 22:44
snake10
 
Fecha de Ingreso: octubre-2005
Mensajes: 11
Antigüedad: 18 años, 7 meses
Puntos: 0
Problema con while,mysql y plantillas

BUenas
El problema que tengo es que yo utilizo una clase para poder utilizar plantillas, concretamente la siguiente:
Código PHP:
<?php
/****************************************************
*                class.plantillas.php
*
*   Creado por: Gaatake
*    Versión: 1
*
****************************************************/
class Plantilla
{
    var 
$_plant_vars = array();
    
    
// La carpeta en la que estan los archivos de las plantillas
    
var $carpeta "plantillas";
    
    
/* Funcion asignar */
    
function asignar($plant_var$valor=null)
    {
        if (
is_array($plant_var)) {
            foreach (
$plant_var as $key => $val) {
                if (
$key != '') {
                    
$this->_plant_vars[$key] = $val;
                }
            }
        }else{
            if (
$plant_var != '') {
                
$this->_plant_vars[$plant_var] = $valor;
            }
        }
    }
    
    
/* Funcion mostrar */
    
function mostrar($nombre_plant)
    {
        if (
$contenido = @file_get_contents($this->carpeta'/' .$nombre_plant)) {
            foreach (
$this->_plant_vars as $plant_var => $valor) {
                
$contenido ereg_replace("{{".$plant_var."}}"$valor$contenido);
            }
            print 
$contenido;
        }else{

            print 
"El archivo de plantilla <strong>" .$nombre_plant"</strong> no existe en la carpeta <strong>" .$this->carpeta"</strong>.";
        }
    }
}
?>
Yo estoy utilizando esa clase de este modo:
Código PHP:
<?php
$contenido 
"Variable normal que obtengo de mysql,etc";
$plantilla->asignar("contenido","$contenido");
?>
y luego en el template por ejemplo index.html pongo {{contenido}} para mostrar $contenido.
Ahora mi problema es el siguiente:
Yo obtengo datos de una base de datos mysql de la forma while($row = mysql_fetch_array($consulta)){} y el tema es que me devuelve muchas cosas, en mi caso yo selecciono el titulo. Concretamente yo quiero que utilizando el sistema de plantillas yo pueda poner en mi index.html
{{contenido}} y me aparezca los resultados de la consulta sql.

espero haberme explicado bien
el script que utilizo es el siguiente:
Código PHP:
<?php
include("class.plantillas.php");
$plantilla = new Plantilla;
$sql3 mysql_query("SELECT titulo FROM $tablareviews WHERE serie='$serie'");
while(
$rew mysql_fetch_array($sql3))
{
    
$contenidos $rew[titulo];
    
$contenido '<tr><td class="Estilo9">'.$contenidos.'</td></tr>';
    
$plantilla->asignar("contenido","$contenido");
}
$plantilla->mostrar("index.html");
?>
Index.html:
Código HTML:
<table>{{contenido}}</table> 
saludos y gracias por responder y ayudar