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

Clases

Estas en el tema de Clases en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estoy construyendo un metodo dentro de mi clase y tengo que usar otro metodo que implemente dentro de esa clase pero me sale el siguiente ...
  #1 (permalink)  
Antiguo 01/08/2006, 17:44
 
Fecha de Ingreso: julio-2006
Ubicación: Malaga
Mensajes: 29
Antigüedad: 17 años, 9 meses
Puntos: 0
Clases

Estoy construyendo un metodo dentro de mi clase y tengo que usar otro metodo que implemente dentro de esa clase pero me sale el siguiente error cuando lo ejecuto:

Fatal error: Call to undefined function loquesea()


P.D: en otros lenguajes de programacion si podia usar sus metodos dentro de la misma clase.
__________________
patricio218
  #2 (permalink)  
Antiguo 01/08/2006, 18:13
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Puedes poner tu mensaje en PHP Orientado a Objetos..!!!
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #3 (permalink)  
Antiguo 01/08/2006, 18:14
pablasso
Invitado
 
Mensajes: n/a
Puntos:
seguramente lo estas llamando mal, ¿puedes poner el codigo?
  #4 (permalink)  
Antiguo 01/08/2006, 18:22
 
Fecha de Ingreso: julio-2006
Ubicación: Malaga
Mensajes: 29
Antigüedad: 17 años, 9 meses
Puntos: 0
dentro de la clase tengo lo siguiente:
Código PHP:
function mostrar_datos($row,$num_fila) {
             
$ini_fil"<tr bgcolor=\"ff9900\"">";
    $fin_fil= "
</tr>";
    $ini_col= "
<td height="12\"><div align=\"center\">";
    
$fin_col"</div></td>";

    echo 
$ini_fil
    echo 
$ini_col.$row[0].$fin_col;
    for (
$i=2;$i<=5;$i++) 
        echo 
$ini_col.$row[$i].$fin_col;        
    echo 
$ini_col."prueba".$fin_col."\n";    
    echo 
$fin_fil;
}


function 
ver($tipo,$dxcc,$mostrar) {
    
$num_fila=0;
while (
$row mysql_fetch_row($this->Consulta_ID)AND$num_fila<=40) {
        if (
$dxcc=="") {
         switch (
$mostrar) {
        case 
0mostrar_datos($row,$num_fila);
break; 
__________________
patricio218
  #5 (permalink)  
Antiguo 01/08/2006, 18:27
 
Fecha de Ingreso: julio-2006
Ubicación: Malaga
Mensajes: 29
Antigüedad: 17 años, 9 meses
Puntos: 0
dentro de la clase tengo lo siguiente:
Código PHP:
function mostrar_datos($row,$num_fila) {
    
$ini_fil"<tr bgcolor=\"ff9900\">";
    
$fin_fil"</tr>";
    
$ini_col"<td height=\"12\"><div align=\"center\">";
    
$fin_col"</div></td>";

    echo 
$ini_fil
    echo 
$ini_col.$row[0].$fin_col;
    for (
$i=2;$i<=5;$i++) 
        echo 
$ini_col.$row[$i].$fin_col;        
    echo 
$ini_col."prueba".$fin_col."\n";    
    echo 
$fin_fil;
}


function 
ver($tipo,$dxcc,$mostrar) {
    
$num_fila=0;
while (
$row mysql_fetch_row($this->Consulta_ID)AND$num_fila<=40) {
        if (
$dxcc=="") {
            switch (
$mostrar) {
                case 
0mostrar_datos($row,$num_fila);
                       break;
                case 
1: if  ($row[18]==$tipo)
                            
mostrar_datos($row,$num_fila);
                       break;
            }
        }
}

}
//cierro funcion ver 
esto es la parte del codigo donde me afecta. Lo puedo hacer pegando el codigo de mostrar_dato en cada "caso" pero se hace bastante borroso poder leerlo con claridad.

Un saludo!!
__________________
patricio218

Última edición por patricio218; 01/08/2006 a las 18:35
  #6 (permalink)  
Antiguo 01/08/2006, 20:58
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
En PHP siempre al invocar un atributo o método dentro de la clase (que va a ser instanciada luego) debes hacer uso de "$this":

Código PHP:
$this->mostrar_datos($row,$num_fila); 
Lo que está interpretando es que estás llamando a una función llamada "mostrar_datos" y esta no está definida, y te da un error.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #7 (permalink)  
Antiguo 02/08/2006, 02:00
 
Fecha de Ingreso: julio-2006
Ubicación: Malaga
Mensajes: 29
Antigüedad: 17 años, 9 meses
Puntos: 0
Muchas gracias por la aclaracion!!!
__________________
patricio218
  #8 (permalink)  
Antiguo 02/08/2006, 04:46
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Trata de no seguir el siguiente comportamiento:

"Si todo falla, lee los manuales"


Es preferible que los leas antes.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
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 05:54.