Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Error con nombre de Clase

Estas en el tema de Error con nombre de Clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola, necesito ejecutar una clase que crea pdf dentro de un while pero al momento de ejecutar la pagina me dice que una clase no ...
  #1 (permalink)  
Antiguo 06/10/2005, 11:49
Avatar de Punktruka  
Fecha de Ingreso: enero-2005
Ubicación: Santiago, Chile
Mensajes: 215
Antigüedad: 19 años, 3 meses
Puntos: 0
Error con nombre de Clase

hola, necesito ejecutar una clase que crea pdf dentro de un while pero al momento de ejecutar la pagina me dice que una clase no se puede volver a declarar...
como no encontré otra solución decidí por concatenarle un contador al nombre de la clase para que nunca esté con el mismo nombre, pero ahora me da error de sintaxis...
le dejo el nombre de la clase asip..
class "PDF".$conta y asi tb.. class PDF.$conta,, pero igual me da error...
alguien me puede ayudar por favorrrr????
__________________
y nada más
porke el cielo ya está de nuevo torvo y sin estrellas kon helikópteros y SIN DIOS....
  #2 (permalink)  
Antiguo 06/10/2005, 12:41
 
Fecha de Ingreso: septiembre-2005
Mensajes: 30
Antigüedad: 18 años, 7 meses
Puntos: 0
Hola :

Debe ser que estan incluyendo el fichero dentro del while ( busca alguna sentencia include, include_once, require o require_once ) por lo que no te permite hacerlo varias veces.

La soulucion ( en caso de que sea este el problema ) es realizar el include_once fuera del while y luego instanciar con new la clase de los pdfs dentro del ciclo.

Saludos
__________________
Alojamiento Web - Alojamiento web y Servidores dedicados. Servidores en USA y Londres.
Hosting,PHP,Java,CSS,SEO BLOG - Web Hosting, Posicionamiento Web, Programacion en PHP, Java, CSS y mucho mas.
  #3 (permalink)  
Antiguo 06/10/2005, 15:43
Avatar de Punktruka  
Fecha de Ingreso: enero-2005
Ubicación: Santiago, Chile
Mensajes: 215
Antigüedad: 19 años, 3 meses
Puntos: 0
noo.no le estoy haciendo un require...
tengo la clase ahi mismo dentro del while
lo que pasa es que dentro de la clase que me crea el pdf necesito ir concatenando el valor que vaya tomando el contador, por eso dejo la clase dentro del while..
ahora eso de ir instanciando la clase.. como es?????
__________________
y nada más
porke el cielo ya está de nuevo torvo y sin estrellas kon helikópteros y SIN DIOS....
  #4 (permalink)  
Antiguo 06/10/2005, 23:53
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Sería mejor que nos mostraras las líneas en cuestión para ver de que estamos hablando

Cita:
Iniciado por Punktruka
noo.no le estoy haciendo un require...
tengo la clase ahi mismo dentro del while
lo que pasa es que dentro de la clase que me crea el pdf necesito ir concatenando el valor que vaya tomando el contador, por eso dejo la clase dentro del while..
ahora eso de ir instanciando la clase.. como es?????
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #5 (permalink)  
Antiguo 07/10/2005, 12:01
Avatar de Punktruka  
Fecha de Ingreso: enero-2005
Ubicación: Santiago, Chile
Mensajes: 215
Antigüedad: 19 años, 3 meses
Puntos: 0
esta es la pagina completa... porfis se me pueden ayudar.. todo me funciona menos en la parte donde le coloco el nombre al la clase. el valor que debe concatenar esta en la variable $ubic.
Código PHP:
<?php
define
('FPDF_FONTPATH','libfpdf/font/');
require(
'libfpdf/fpdf.php');

$cod="vli";

$hostname "lala";
$username "lala";
$password "lala";
$dbName   "lala";

$LinkBusca=MSSQL_CONNECT($hostname,$username,$password) or DIE("No responde la base de datos");
$LinkBusca mssql_select_db($dbName,$LinkBusca) or DIE("Tabla mala");

$SqlBusca=("pa_BuscaInspPerdidas ") or die (mssql_error);
$RsBusca mssql_query($SqlBusca);

$conta=0;
while(
$CodUbic mssql_fetch_array($RsBusca)) 
{     
    foreach(
$CodUbic as $RsCodUbic)
    {
        
$ubic $RsCodUbic;
                
        class 
PDF.$conta
        
{
            var 
$Var_sw;    
            function 
fnc_planilla($fila,$row2,$row3,$row4,$ubic)
            {
                
//Pagina Nº1
                
if($row2[0] == 'Interamericana'){$this->Image('inter.jpg',10,8,50,10);}
                if(
$row2[0] == 'Royal'){$this->Image('logo_royal.jpg',10,5,50,10);}
                if(
$row2[0] == 'Parauco'){$this->Image('mapfre.jpg',10,5,50,10);}
                
$this->Image('logo_bsp.jpg',160,4,35,17);
                
$this->SetFont('Arial','B',10);
                
$this->Ln(0);
                
$this->cell(190,5,'Reporte de Inspección de Vehiculos Motorizados',0,0,'C');
                
$this->Ln(4);
                
$this->SetFont('Arial','B',7);
                
$this->cell(95,3,'Código BSP:',5,0,'R');    
                
$this->cell(50,3,$ubic,5,0,'L');
                .........
lalalalal
        
}
        
$result=("pa_informe_inserta ".$ubic.",'a15','".$informe."'");
        
mssql_query($result$link);                                        
        
            
        echo 
"SE CREO PDF DE INSPECCION Nº ".$ubic."<br>";
        
$conta=$conta+1;                    
    }    
    
$conta=$conta 1
}
?>
__________________
y nada más
porke el cielo ya está de nuevo torvo y sin estrellas kon helikópteros y SIN DIOS....
  #6 (permalink)  
Antiguo 07/10/2005, 12:03
Avatar de Punktruka  
Fecha de Ingreso: enero-2005
Ubicación: Santiago, Chile
Mensajes: 215
Antigüedad: 19 años, 3 meses
Puntos: 0
y tb concatenar el $conta para asignarselo al nombre de la clase para que nunca quede con el mismo nombre...ya que no me deja redeclararlaaaa..
__________________
y nada más
porke el cielo ya está de nuevo torvo y sin estrellas kon helikópteros y SIN DIOS....
  #7 (permalink)  
Antiguo 07/10/2005, 16:14
Avatar de Punktruka  
Fecha de Ingreso: enero-2005
Ubicación: Santiago, Chile
Mensajes: 215
Antigüedad: 19 años, 3 meses
Puntos: 0
hola denuevo,, buscando sobre como instanciar una clase encontré varias cosas que me ayudaron a solucionar el tema del nombre de la clase,, pero ahora me da otro problema..me arroga este error..
Código PHP:
PHP Fatal errorCall to undefined function: image() in E:sitiosphpcrea_pdf_vli_express_bat.php on line 17 
y en la linea 17 tengo esto $this->Image('inter.jpg',10,8,50,10);
osea me dice que no esta definida esta funcion.. pero es raro porque antes cuando ejecutaba mi pagina para crear solo un pdf no me reclamaba por Image()..
por si acaso asi instancie la clase..
Código PHP:
$pdf.$conta=new PDF('P','mm','Letter');
$pdf.$conta->fnc_planilla($fila,$row2,$row3,$row4,$ubic);
$pdf.$conta->Footer(); 
donde fnc_planillas() es la funcion donde le doy los formatos y valores al pdf
y Footer() es una funcion de pie de pagina...
Image(), Cell(), Ln() son funciones que estan dentro de fnc_planillas() entonces ahi no entiendo porque me reclama por esa la funcion Image() si esta dentro de otra que si esta instanciada...
pooorfissssssssss ayudaaaa... llevo días tratando de solucionar el temaaa..
__________________
y nada más
porke el cielo ya está de nuevo torvo y sin estrellas kon helikópteros y SIN DIOS....
  #8 (permalink)  
Antiguo 07/10/2005, 16:23
Avatar de Punktruka  
Fecha de Ingreso: enero-2005
Ubicación: Santiago, Chile
Mensajes: 215
Antigüedad: 19 años, 3 meses
Puntos: 0
a y porsi acaso, le hize caso a javier y deje la clase fuera de while es por eso que como anteriormente comente que ahora la estaba instanciado...
aca a un pedazo de como lo hize..
Código PHP:
class PDF
        
{
            var 
$Var_sw;    
            function 
fnc_planilla($fila,$row2,$row3,$row4,$ubic)
            {
                
//Pagina Nº1
                
if($row2[0] == 'Interamericana')
                {
                    
$this->Image('inter.jpg',10,8,50,10);
                }
                if(
$row2[0] == 'Royal')
                {.....
lalalallala....
                                      }
//fin funcion

                             
}//fin clase 
__________________
y nada más
porke el cielo ya está de nuevo torvo y sin estrellas kon helikópteros y SIN DIOS....
  #9 (permalink)  
Antiguo 07/10/2005, 17:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 30
Antigüedad: 18 años, 7 meses
Puntos: 0
Hola :

No puedes defiinir la clase dentro del while. Define la clase fuera del while, digamos debajo del require que tienes al inicio del codigo.
Luego dentro del while instancia la clase esa como ya haz aprendido y entonces es que puedes ejecutar los metodos o el metodo que necesites.

Saludos
__________________
Alojamiento Web - Alojamiento web y Servidores dedicados. Servidores en USA y Londres.
Hosting,PHP,Java,CSS,SEO BLOG - Web Hosting, Posicionamiento Web, Programacion en PHP, Java, CSS y mucho mas.
  #10 (permalink)  
Antiguo 11/10/2005, 07:32
Avatar de Punktruka  
Fecha de Ingreso: enero-2005
Ubicación: Santiago, Chile
Mensajes: 215
Antigüedad: 19 años, 3 meses
Puntos: 0
jijii.. sip, ya lo hize, lo uniko ke me faltaba era kolokar el "extends FPDF" al lado de la klase para ke me rekonociera los metodos de esta librería.
ahora si me funciona... gracias por las respuestas.
by
__________________
y nada más
porke el cielo ya está de nuevo torvo y sin estrellas kon helikópteros y SIN DIOS....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:25.