Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2013, 23:54
mikehove
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años, 6 meses
Puntos: 2
Busqueda Problema con clase en PDO

Hola amigos. Cuestión que es un tema que vengo de hace tiempo.
Estuve estudiando lo que pude hasta ahora porque avancé pero no llegué aún al éxito. Necesito su ayuda por favor.

El siguiente ejemplo funciona bien:

Código:
class Helper {	

	private static $router = array (	
	
    '/' => array(
        'column' => 'columns/tabOne/columnA.php',
        'content' => 'content/tabOne/contentA.php'
    ),
    '/index' => array(
        'column' => 'columns/tabOne/columnA.php',
        'content' => 'content/tabOne/contentA.php'
    ),
	 '/contentAtabOne' => array(
        'column' => 'columns/tabOne/columnA.php',
        'content' => 'content/tabOne/contentA.php'
    ),
	 '/contentBtabOne' => array(
        'column' => 'columns/tabOne/columnA.php',
        'content' => 'content/tabOne/contentB.php'
    ),
    '/tabTwo' => array(    
		'content' => 'content/tabTwo.php'		
    ),			
     '/tabThree' => array(        
        'content' => 'content/tabThree.php'
    ),
	'/tabFour' => array(       
        'content' => 'content/tabFour.php'
    )

);

public static function getColumn($file = null ) {
    if (array_key_exists($file, self::$router) && isset(self::$router[$file]['column'])) {
        ob_start();
		is_file(self::$router[$file]['column']);
        require_once(self::$router[$file]['column']);
        return ob_get_clean();		
    }
}

public static function getContent($file = null) {
    if (array_key_exists($file, self::$router) && is_file(self::$router[$file]['content'])) {
        ob_start();
        require_once(self::$router[$file]['content']);
        return ob_get_clean();
    }
}

}
El tema es que necesito hacer lo mismo pero desde una conexión PDO a la BD.

Esto es lo que conseguí:

Código:
class Helper {

    private $_db;//Atributos o propiedad de clase

    public function __construct($db) {//Constructor
           $this->_db = $db;
    }

//Métodos:
    public function otraFuncion() {
        // Con $this->_db tienes acceso a la base de datos
	$si="ejemplo de otra funcion aprobado!!"; // Con $this->_db tienes acceso a la base de datos
	
        return $si;
    }		

}

try
   {
    $con = new PDO('mysql:host=localhost;dbname=pruebaarray', 'root', '');//Conexión a nuetra BD por PDO con el constructor de la clase 
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//Mensaje de Error si no conecta	
    }
  catch(PDOException $e)
    {
  echo 'Error: ' . $e->getMessage();
    }

try
   {
    $helper = new Helper($con);// Ahora se instancea helper, proporcionando la conexión	
	
	echo $helper -> otraFuncion();//Llmao al método de la clase
    }
  catch(PDOException $e)
    {
  echo 'Error: ' . $e->getMessage();
    }

Esta es la BD:





Como muestro en la imagen, la tabla (se llama "arrayUrl") consta de 4 campos:
(1: "arrayUrl_id", 2:"arrayUrl_name", 3:"arrayUrl_column" y 4:"arrayUrl_content")




Os ruego su ayuda, o por donde seguir estudiando para este caso. La verdad que quiero llegar al éxito.