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

No toma los valores

Estas en el tema de No toma los valores en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola quetal estoy haciendo este escript Código PHP: class  Configuracion {     protected  $conexiondb ;          protected  $campo ;     protected  $tabla ;     public function  ConfiguracionDb ( $userdb ...
  #1 (permalink)  
Antiguo 10/02/2009, 11:09
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
No toma los valores

Hola quetal estoy haciendo este escript

Código PHP:
class Configuracion
{
    protected 
$conexiondb;
    
    protected 
$campo;
    protected 
$tabla;

    public function 
ConfiguracionDb($userdb="root",$userpass="",$nomdb="",$servidor="localhost")
    {
        
$conexion=mysql_connect($servidor,$userdb,$userpass) or die ("No se pudo conectar");
        
mysql_select_db($nomdb,$conexion) or die ("No pudo seleccionar Db");
        if(
$conexion) {  $this->conexiondb=$conexion;  }
        else{    return 
false;    }

    }
    
    public function 
ConfigurarTablasCampos($campo,$tabla)
    {
        
$this->campo=$campo;
        
$this->tabla=$tabla;
    }

    
    function 
CrearCamposEstado($crear)
    {
        if(
$crear=="si")
        {
            echo 
$this->tabla;
            
$alter=mysql_query("alter table '$this->tabla' add(estado bool default 0)");
            if(
$alter)
            {
                 return 
true
            }
            echo 
"Se produjo un error creando el campo estado";    
            return 
false;  
            
            
        }


    }
    protected function 
CrearCamposNivel($crear)
    {
        
        if(
$crear=="si")
        {
            
$alter=mysql_query("alter table '$this->tabla' add(nivel int(3) default 1)");
            if(
$alter)
            {
                 return 
true
            }
                
            return 
false;
                
        }

        
    }
    
    
    
    protected function 
RealizaConsulta()
    {

    }
    protected function 
Obtener_num_rows()
    {
    
    }
    protected function 
Obetner_fetch_array()
    {
    
        
    }
    
    
    
}


class 
UsuariosOnline extends Configuracion
{
    
    public function 
UsuariosOnline($cestado,$cnivel,$limite,$paginacion)
    {
        
    
$this->CrearCamposEstado($cestado);
    
    
        

    }

    
    
    
}

$Configuraciones=new Configuracion();
$Configuraciones->ConfiguracionDb("root","","foro_db","localhost");
$Configuraciones->ConfigurarTablasCampos("login","usuarios");

$UsuariosOnline=new UsuariosOnline("si","si",5,"si");

?> 
se supone que por medio del objeto $configuraciones->ConfigurarTablasCampos("login","usuarios"); me estoy refiriendo al metodo configurar tablas campos y a ese metodo le paso 2 parametros "login" "usuarios" y hago que las propiedades se han igual a esos datos digitados pero cuando creo el objeto usuariosOnline y le paso el primer parametro si le estoy diciendo que me llame a un metodo para crear un nuevo campo en la tabla de los usuarios pero cuando lo va hacer no pasa nada siempre me muestra el mensaje que retorna el metodo crearcamposestado

y al parecer la inicializacion de la propiedad $tabla en la clase Configuraciones no me toma ningun valor


Alguien sabe porque???

Muchas gracias
  #2 (permalink)  
Antiguo 10/02/2009, 11:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: No toma los valores

Pues por encima lo que veo es que tu método crearCamposEstado acepta un parámetro, y solamente si este parámetro es "si" se ejecuta lo que hay, por lo que si tu le pasas algo diferente de "si" no va a hacer el proceso.

Saludos
  #3 (permalink)  
Antiguo 10/02/2009, 11:25
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: No toma los valores

pero mira que siempre le paso el parametro si para que lo cree pero al moneti de realiza la consulta pero si te fijas esta propiedad no llega con nigun valor '$this->tabla' dentro de la consulta y todo esta bien intente cambiando esa propiedad por la tabla real y lo hace perfectamente

gracias y se supone que el metodo

public function ConfigurarTablasCampos($campo,$tabla)
{
$this->campo=$campo;
$this->tabla=$tabla;
}

me esta inicializando las propiedades no? o es un problema de ambito ? mm =(
  #4 (permalink)  
Antiguo 10/02/2009, 11:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: No toma los valores

No había visto la parte de al final, el problema es como creas tu código, si te fijas, primero instancias un objeto del tipo Configuración, y pasas los datos, luego creas otro objeto independiente del tipo UsuariosOnline, aunque extiendes de Configuración es un objeto independiente por lo que no va a poder ver los datos de Configuración, vas a tener que pasarle los datos a UsuariosOnline para poder verlos.

Saludos
  #5 (permalink)  
Antiguo 10/02/2009, 11:44
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: No toma los valores

aaaaaaaaaaaaaaaa no sabia esooo jejeje bueno a ensayar y te comento muchas gracias por responder tan ligero viva forosdelweb lol
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 07:19.