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

Confusion/duda con respecto a ADODB

Estas en el tema de Confusion/duda con respecto a ADODB en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Saludos, veran soy nuevo en esto de la POO, tengo cierto entendimiento, sin embargo a veces quedo perdido en el espacio, tengo un problema con ...
  #1 (permalink)  
Antiguo 27/06/2011, 17:34
 
Fecha de Ingreso: octubre-2010
Mensajes: 18
Antigüedad: 13 años, 6 meses
Puntos: 0
Confusion/duda con respecto a ADODB

Saludos, veran soy nuevo en esto de la POO, tengo cierto entendimiento, sin embargo a veces quedo perdido en el espacio, tengo un problema con respecto a ADODB, veran tengo un archivo service.php que tiene este codigo:

Código PHP:
<?php

    header
('Content-Type: text/json; charset=utf-8'); 
    @
import_request_variables("GPC");
    require_once(
'config/configuration.php');
    require(
'user.class.php');
    require(
'soporte.class.php');
    
$configuration Configuration::getInstance('config.ini');
    
// ------------------------------------
    // error_reporting(E_ALL);
    
require_once($configuration->dirnames["classpath"].'menutree.php');
    
$cstring = new dsn($configuration->database);
    
//mostrar dsn del enlace
    //echo $cstring; 
    // crear el enlace
    
$db NewADOConnection($cstring->getDSN());
    
/* Encender para realizar DEBUG de los datos */
    //$db->debug=true;
    // la palabra sistema representa el adaptador a ser usado como enlace
    
ADOdb_Active_Record::SetDatabaseAdapter($db,"sistema");
    
$db->SetFetchMode(ADODB_FETCH_ASSOC);
    
$complemento "";
    switch(
$accion){
        case 
"loadtree":
            
$tmenu = new menutree();
            echo 
$tmenu->prepareJSONtree($db"id""titulo""parentid""icono,video_id,video_url,descripcion","",""$parentid);
        break;
    
        case 
"setInitSession":
            
$user      = new user($db);
            
$username  $_POST['username'];
            
$email     $_POST['email'];
            
$result    $user->setInitSession($_POST['username'],$_POST['email']);
                        
            
//meter en el metodo setInitSession
            
$sql "insert into chatsessions (username,email,status) VALUES (?,?,?);";
            
$db->Prepare($sql);
            
$data = array($username$email,1);
            
$db->Execute($sql$data);
            
$id $db->Insert_ID();
            echo 
$id;
            
$db->CompleteTrans();
        break;
    
        case 
"setInitSoporte";
            
$soporte     = new soporte();
            
$userSoporte $_POST['soporte'];
            
$result      $soporte->setInitSoporte($userSoporte);
            
//meter en el metodo setInitSoporte
            
$sql "insert into chatsoporte (username) VALUES (?)";
            
$db->Prepare($sql);
            
$data = array($userSoporte);
            
$db->Execute($sql$data);
            
$db->CompleteTrans();
            
        break;
}

?>
Necesito colocar el còdigo de insert de la BD en user.class.php, pero no consigo inicializar el adodb en este archivo, aqui les muestro lo que tengo:

Código PHP:
<?php
   
class user{
    public function 
__construct($db){
        
$this->db=$db;
    }
   public function 
setInitSession($username,$email) {
          
        
session_start();
        
$_SESSION['username'] = str_replace(" ","_",$username);
        
$response "{'success': true}";
        
$session  $_SESSION['username'];
        
$responsesession=array($session,$response);
        
$jsonReturn=json_encode($responsesession);
        return(
$jsonReturn);
                                                     }
    public function 
getUserOnline($username,$email){
       
        
    }
veran, en este momento me funciona e interactua con la BD hace el insert, pero me interesa colocar lo relacionado a la inserciòn en su metodo respectivo, y cada vez que intento instanciar el adodb en class.user.php me dice que no estoy instanciandolo bien, y no se porque, necesito que alguien me explique como hacerlo o me oriente al respecto.

Espero haberme explicado bien!, y gracias de antemano.
  #2 (permalink)  
Antiguo 01/07/2011, 13:43
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Confusion/duda con respecto a ADODB

En clase user coloca sólo la operacion db, la conexión se debe hacer desde fuera de la clase user.
El método que hace la inserción recibe como parámetro la conexión a la bd, no importa qué tipo sea.
Empieza por aquí, después seguimos, salu2
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: adodb
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 01:54.