Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/06/2011, 17:34
solarconfinement
 
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.