Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 14-abr-2008, 07:28   #1 (permalink)
kotosh ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2002
Mensajes: 410
Enviar un mensaje por MSN a kotosh
Como llamar a una funcion dos veces en una misma pagina

Tengo una clase (DataGrid), la misma, que tengo necesidad de llamarla dos o mas veces veces en la misma pagina, pero me sale este error:

Fatal error: Cannot redeclare listadogrid() (previously declared in F:\Apache\v2\erp\Controles\DataG\GridFunciones.php :5) in F:\Apache\v2\erp\Controles\DataG\GridFunciones.php on line 21

Alguien podria darme alguna idea para no ver este conflicto?

Observacion: Si creo el objeto una vez funciona.
Gracias
__________________
Imagentop S.A. - Consultoría e-business
http://www.imagentop.com

Notiperu.com - Portal de noticias participativo
http://www.notiperu.com

Pcperu.com - Calidad y tecnología a un precio que ¡sí puedes pagar!
http://www.pcperu.org
kotosh está desconectado   Responder Citando
Antiguo 14-abr-2008, 07:37   #2 (permalink)
usermax tiene algunos puntos positivos de karma
 
Fecha de Ingreso: diciembre-2006
Mensajes: 515
Enviar un mensaje por MSN a usermax
Re: Como llamar a una funcion dos veces en una misma pagina

Claro, no puedes incluir una clase dos veces. POr eso PHP te está diciendo que no la redeclares.

Pero igualmente no tiene sentido.
EN vez de incluir la clase dos veces, inicia dos objetos así

$objeto1 = new DataGrid;
$objeto2 = new DataGrid;

Y ya tienes dos objetos que cuentas con todas las funciones de la clase y con variables independientes.
Esa es la ventaja de trabajar con POO (programación orientada a objetos).-

SAludos
__________________
www.dominiomax.com

Basta de spam en nuestros forms!! conoce AntiSpam Class
usermax está desconectado   Responder Citando
Antiguo 14-abr-2008, 07:39   #3 (permalink)
usermax tiene algunos puntos positivos de karma
 
Fecha de Ingreso: diciembre-2006
Mensajes: 515
Enviar un mensaje por MSN a usermax
Re: Como llamar a una funcion dos veces en una misma pagina

Ahh ademas estuve viendo el error y no es de la reclaración de una clase, sino más bien de una funcíón.

Tampoco hace falta incluir una funcion dos veces (no se puede)... para qué necesitas eso, si lo explicas podremos exlicarte cuál es la forma correcta de hacerlo.

Saludos
__________________
www.dominiomax.com

Basta de spam en nuestros forms!! conoce AntiSpam Class
usermax está desconectado   Responder Citando
Antiguo 14-abr-2008, 08:03   #4 (permalink)
kotosh ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2002
Mensajes: 410
Enviar un mensaje por MSN a kotosh
Re: Como llamar a una funcion dos veces en una misma pagina

Tienes razon USERMAX, creando dos objetos se soluciona el problema:

$objeto1 = new DataGrid;
$objeto2 = new DataGrid;

Sin embargo surge otro: Esta clase por ser un data grid, hace una consulta a una DB, por lo cual como parametro envio el SQL, sin embargo cuando creo dos objetos dentro de una misma pagina se confunden las variables y al final me salen dos grid con la misma consulta.

Se requiere mostrar en una sola pagina dos GRID con consultas a diferentes tablas.

Nota: cuando creo los objetos envio los parametro SQL particulares
$obj1 = new DataGrid();
$obj1->DataView($Sql1);

$obj2 = new DataGrid();
$obj2->DataView($Sql2);

Espero puedan darme alguna idea.
Gracias
__________________
Imagentop S.A. - Consultoría e-business
http://www.imagentop.com

Notiperu.com - Portal de noticias participativo
http://www.notiperu.com

Pcperu.com - Calidad y tecnología a un precio que ¡sí puedes pagar!
http://www.pcperu.org
kotosh está desconectado   Responder Citando
Antiguo 16-abr-2008, 17:23   #5 (permalink)
kotosh ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2002
Mensajes: 410
Enviar un mensaje por MSN a kotosh
Re: Como llamar a una funcion dos veces en una misma pagina

alguien q me de alguna pista?
__________________
Imagentop S.A. - Consultoría e-business
http://www.imagentop.com

Notiperu.com - Portal de noticias participativo
http://www.notiperu.com

Pcperu.com - Calidad y tecnología a un precio que ¡sí puedes pagar!
http://www.pcperu.org
kotosh está desconectado   Responder Citando
Antiguo 17-abr-2008, 01:14   #6 (permalink)
mgusdl tiene algunos puntos positivos de karma
 
Avatar de mgusdl
 
Fecha de Ingreso: abril-2007
Ubicación: Málaga, España
Mensajes: 154
Enviar un mensaje por Skype™ a mgusdl
Re: Como llamar a una funcion dos veces en una misma pagina

Y si eliminas el objeto, ya sea mediante alguna propiedad o "$objeto = null", y lo vuelves a crear?
mgusdl está desconectado   Responder Citando
Antiguo 17-abr-2008, 15:33   #7 (permalink)
kotosh ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2002
Mensajes: 410
Enviar un mensaje por MSN a kotosh
Re: Como llamar a una funcion dos veces en una misma pagina

No puedo hacer eso, ya que deseo que los dos grid se muestren en simultaneo, pero ingresando a diferentes tablas. En otras palabras reutilizando la clase GRID.

El problema consiste en que la variable $SQL de un objeto se convina con la misma variable del otro objeto y al final tengo dos grid que accden a la misma tabla.
__________________
Imagentop S.A. - Consultoría e-business
http://www.imagentop.com

Notiperu.com - Portal de noticias participativo
http://www.notiperu.com

Pcperu.com - Calidad y tecnología a un precio que ¡sí puedes pagar!
http://www.pcperu.org
kotosh está desconectado   Responder Citando
Antiguo 17-abr-2008, 15:42   #8 (permalink)
$this->role('moderador');
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 12.832
Re: Como llamar a una funcion dos veces en una misma pagina

Hola kotosh,

El problema es de tu clase DataGrid, ya que si esta mezclando los valores, entonces no esta encapsulada.

Contacta al autor de la clase y que verifique como está programada.

Saludos.

Tema trasladado a PHP Orientado a Objetos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 17-abr-2008, 21:54   #9 (permalink)
kotosh ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2002
Mensajes: 410
Enviar un mensaje por MSN a kotosh
Esta es mi clase.

Yo soy el autor de dicha clase, pero soy novato en esto...ya que estoy acostumbrado a la programación estructurada, pero gracias por el dato...tendre que aprender como "encapsular" mis variables en PHP.

Mi clase en sitesis tiene esto:

class Grid{
function DataGrid($Sql, $DemasParametros){
//todo el cofigo para que funcione mi clase...
// (reordenamiento de columnas, paginador, ancho y altura, buscador,etc)
}
}

//------- Pagina.php--------------
//Creo mi objeto 1:
$obj3 = new Grid();
$obj3->DataGrid($Sql,$DemasParametros);

//Creo mi objeto 2:
$obj4 = new Grid();
$obj4->DataGrid($Sql,$DemasParametros);

Soy enemigo de los que esperan recibir todo servido, por lo cual me dedicare a investigar mas sobre POO, sin embargo si por alli alguien me da una mano, lo agradecere mucho, ya que estoy contra el tiempo. Gracias.
__________________
Imagentop S.A. - Consultoría e-business
http://www.imagentop.com

Notiperu.com - Portal de noticias participativo
http://www.notiperu.com

Pcperu.com - Calidad y tecnología a un precio que ¡sí puedes pagar!
http://www.pcperu.org
kotosh está desconectado   Responder Citando
Antiguo 18-abr-2008, 08:03   #10 (permalink)
$this->role('moderador');
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 12.832
Re: Como llamar a una funcion dos veces en una misma pagina

Sin saber la estructura de tu clase, es un poco complicado que te pueda asesorar en como podrías buscar ese encapsulamiento.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 3,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 01:28.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93