Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/01/2009, 19:03
DeCodigos
 
Fecha de Ingreso: noviembre-2008
Mensajes: 130
Antigüedad: 16 años
Puntos: 0
Respuesta: Tablas Dinamicas PHP - Mysql

Muchas gracias por la sugerencia Triby de enserio, mi sistema de plantillas es el siguiente:

http://blog.pecesama.net/clase-php-4...llas-o-themes/

Código PHP:
<?php
class plantillas {

        var 
$plantilla;
        var 
$plantilla_cargada;
        var 
$texto_plantilla;
        
        var 
$antesBloque;
        var 
$bloque;
        var 
$despuesBloque;
        var 
$bloqueFinal="";

        function 
plantillas($plantilla) {               
                
$this->plantilla = ($plantilla == "") ? "default" $plantilla;
        }       

        function 
cargarPlantilla($entrada$salida$plantilla_usar) {          
                
$plantilla_usar "themes/".$this->plantilla."/".$plantilla_usar.".htm";
                
                if (!
file_exists($plantilla_usar)) {
                        die(
"No se encuentra la plantilla :".$plantilla_usar);
                } else {                
                        if(!
$fd fopen($plantilla_usar"r")) {
                                die(
"Error en la plantilla");
                        } else {
                                
$salida_xhtml fread($fdfilesize ($plantilla_usar));
                                
fclose ($fd);
                                
$salida_xhtml stripslashes($salida_xhtml);
                                
$this->texto_plantilla $salida_xhtml;
                                for (
$i 0$i count($entrada); $i++) {
                                        
$salida_xhtml str_replace($entrada[$i], $salida[$i], $salida_xhtml);
                                }
                                
$this->plantilla_cargada $salida_xhtml;
                        } 
                }
        }       
                
        function 
precargarPlantillaConBloque($entrada$salida$plantilla_usar$nombreBloque) {               
                
$plantilla_usar "themes/".$this->plantilla."/".$plantilla_usar.".htm";
                
                if (!
file_exists($plantilla_usar)) {
                        die(
"No se encuentra la plantilla :".$plantilla_usar);
                } else {                
                        if(!
$fd fopen($plantilla_usar"r")) {
                                die(
"Error en la plantilla");
                        } else {
                                
$salida_xhtml fread($fdfilesize ($plantilla_usar));
                                
fclose ($fd);
                                
$salida_xhtml stripslashes($salida_xhtml);
                                
$this->texto_plantilla $salida_xhtml;
                                
                                
$this->cargaAntesBloque($nombreBloque);
                                
$this->cargaDespuesBloque($nombreBloque);
                                
                                
$this->antesBloque $this->procesaBloque($entrada$salida$this->antesBloque);
                                
$this->despuesBloque $this->procesaBloque($entrada$salida$this->despuesBloque);
                        } 
                }
        }       
        
        function 
cargarPlantillaConBloque($entrada$salida$plantilla_usar$nombreBloque) {          
                
$plantilla_usar "themes/".$this->plantilla."/".$plantilla_usar.".htm";
                
                if (!
file_exists($plantilla_usar)) {
                        die(
"No se encuentra la plantilla :".$plantilla_usar);
                } else {                
                        if(!
$fd fopen($plantilla_usar"r")) {
                                die(
"Error en la plantilla");
                        } else {
                                
$salida_xhtml fread($fdfilesize ($plantilla_usar));
                                
fclose ($fd);
                                
$salida_xhtml stripslashes($salida_xhtml);
                                
$this->texto_plantilla $salida_xhtml;
                                
                                
$this->cargaBloque($nombreBloque);
                                
                                
$this->bloqueFinal .= $this->procesaBloque($entrada$salida$this->bloque);
                        } 
                }
        }       
        
        function 
procesaBloque($entrada$salida$bloque) {
                for (
$i 0$i count($entrada); $i++) {
                        
$bloque str_replace($entrada[$i], $salida[$i], $bloque);
                }
                return 
$bloque;
        }
        
        function 
cargaBloque($nombreBloque) {
                
$inicioBloque "[bloque: ".$nombreBloque."]";
                
$finBloque "[/bloque: ".$nombreBloque."]";
                
$ini strpos($this->texto_plantilla,$inicioBloque)+strlen($inicioBloque);
                
$fin strpos($this->texto_plantilla,$finBloque);
                
$this->bloque substr($this->texto_plantilla,$ini,($fin-$ini));
        }
        
        function 
cargaAntesBloque($nombreBloque) {
                
$inicioBloque "[bloque: ".$nombreBloque."]";
                
$ini strpos($this->texto_plantilla,$inicioBloque);
                
$this->antesBloque substr($this->texto_plantilla,0,$ini);
        }
        
        function 
cargaDespuesBloque($nombreBloque) {
                
$finBloque "[/bloque: ".$nombreBloque."]";
                
$fin strpos($this->texto_plantilla,$finBloque);
                
$this->despuesBloque substr($this->texto_plantilla,($fin+strlen($finBloque)),strlen($this->texto_plantilla));
        }
        
        function 
mostrarPlantillaConBloque() {
                echo 
$this->antesBloque.$this->bloqueFinal.$this->despuesBloque;
        }
        
        function 
mostrarPlantilla() {
                echo 
$this->plantilla_cargada;
        }
        
        function 
renderizaEtiqueta($texto=""$etiquetaHtml="p"$claseCss="") {
                echo 
"<".$etiquetaHtml." class=\"".$claseCss."\">".$texto."</".$etiquetaHtml.">";
        }
        
        function 
renderizaTexto($texto="") {
                echo 
$texto;
        }
}
?>
El problema es que probe de todo y no puedo lograr la tabla dinamica, no puedo crear bloques o ciclos, o no estoy viendo la solucion correctamente..

Espero que alguien pueda darme una mano...

Última edición por DeCodigos; 05/01/2009 a las 19:17