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

Problea con Class en Php

Estas en el tema de Problea con Class en Php en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola, estoy usando clases en vez de funciones, creia que iba a tener una ventaja con las conexiones pero no se porke me falla esto: ...
  #1 (permalink)  
Antiguo 17/05/2006, 17:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 49
Antigüedad: 18 años, 7 meses
Puntos: 0
Problea con Class en Php

hola, estoy usando clases en vez de funciones, creia que iba a tener una ventaja con las conexiones pero no se porke me falla esto:

//declaramos la clase para la BD aeropuerto
$aeropuerto=new funciones($d_usuario,$d_clave,$d_conexion,$d_bdato s1);

//declaramos una nueva clase para la conexion a la BD viajes_majen ($d_bdatos1)
$viajes=new funciones($d_usuario,$d_clave,$d_conexion,$d_bdato s2);

cuando intento acceder a una tabla de Aeropuerto va bien
y si lo hago desde viajes tambien va bien pero cuando intento acceder a una tabla de Viajes no funciona, por que me coge la BD primera que declaro????
no deberia coger una distintamente? al hacer NEW no creo un objeto nuevo totalmente independiente??????
es lo que no entiendo porque no me deja
  #2 (permalink)  
Antiguo 17/05/2006, 17:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 34
Antigüedad: 20 años
Puntos: 1
La verdad que es difícil saber que pasa sin tener ninguna idea de lo que se supone hace internamente tu clase. Convendría que indicases qué base de datos manejas, qué hace la clase y que entiendes exactamente por "coger una base de datos".

Saludos
  #3 (permalink)  
Antiguo 17/05/2006, 21:53
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
¿Y qué significa esta sintaxis, el "s1" seguido de la variable?

",$d_bdato s1);"
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #4 (permalink)  
Antiguo 18/05/2006, 01:44
 
Fecha de Ingreso: septiembre-2005
Mensajes: 49
Antigüedad: 18 años, 7 meses
Puntos: 0
"coger una BD" me refiero a conectar a una BD
$aeropuerto seria la conexion a la BD aeropuerto

s2 no era nada era la continuacion de $d_bdatos2 esque se me habia cortado al pegar aqui.

mi clase:
Código PHP:
class funciones
{
    
/***************************
    * Declaracion de variables
    ****************************/
    
    //configuracion de usuarios y conexion
    //------------------------------------
    
    
var $d_user;    //nombre de usuario
    
var $d_pass;    //clave de usuario
    
    
var $d_conexion;     //conexion local o remota
    
    
var $d_db;    //base de datos
    

    //variable para almacenar el resource de la conexion
    //--------------------------------------------------
    
var $d_link;
    
    
//Almacenamiento del identificador de query
    //-----------------------------------------
    
var $d_contenedor;
        
    
/***************************
    * Declaracion de funciones
    ****************************/
    
    //constructor por eso sin f_ 
    //--------------------------
    
function __construct$d_user $d_pass $d_conection $d_database )
    {
        
//asignamos valores a las variables locales
        
$this->d_user=$d_user;
        
$this->d_pass=$d_pass;
        
$this->d_conexion=$d_conection;
        
$this->d_db=$d_database;
    
        
//hacemos conexion ademas de guardar la informacion de la conexion 
        
$this->d_link=@mysql_connect($this->d_conexion$this->d_user$this->d_pass) or die ("Acceso denegado...<br>");

        
//selecciono una base de datos
        
@mysql_select_db($this->d_db,$this->d_link) or die ("Imposible establecer conexion con la BD: $this->d_db...<br>"); 
    
    }
    function 
f_sql_num_rows($d_tablas,$d_campos,$d_where=1)
    {
        
//llamo al a funcion sql_fetch para ahorra codigo
        
$this->f_sql_select($d_tablas,$d_campos,$d_where);
        
        
//devuelve el numero de lineas
        
return mysql_num_rows($this->d_contenedor);
    }

en el codigo muestro como Selecciono una BD, como conecto y una funcion para mostrar el numero de elementos.

para hacerlo hago:
$aeropuerto=new funciones($d_usuario,$d_clave,$d_conexion,$d_bdato s1);

$aeropuerto->f_sql_num_rows("vuelos","ID_vuelo");

por ejemplo.
pero no funciona si declaro otro objeto :S
  #5 (permalink)  
Antiguo 18/05/2006, 09:47
 
Fecha de Ingreso: septiembre-2005
Mensajes: 49
Antigüedad: 18 años, 7 meses
Puntos: 0
Tonces nadie sabe nada? sobre este problema?
kizas sea la forma de declarar el objeto ¿?
$aeropuerto=new funciones;
$aeropuerto.funciones(variables... etc) ?????
  #6 (permalink)  
Antiguo 18/05/2006, 10:50
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Lo que debe estar sucediendo es que la llamada a la función mysql_connect() de debe estar devolviendo el mismo identificador. Es decir, ambos objetos son independientes, pero la propiedad d_link de ambos objetos apuntan hacia un mismo enlace a la base de datos. Podrías probar hacer la llamada a la función mysql_connect() de esta forma:

Código PHP:
<?
mysql_connect
($this->d_conexion$this->d_user$this->d_passtrue);
?>
Ese último parámetro hara que cada ves que llames a esa función te devulva un enlace diferente. Probá con eso y nos comentas como te fue.
Saludos.
  #7 (permalink)  
Antiguo 19/05/2006, 17:23
 
Fecha de Ingreso: septiembre-2005
Mensajes: 49
Antigüedad: 18 años, 7 meses
Puntos: 0
Juuee
muchas gRACIAS!! funciona de maravilla :)
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 20:50.