Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted by Modelo CI ( 13 years ago )
<?php
/**
 * Modelo encargado de manejar la base de datos cendendt_certificados
 * los métodos principales de esta clase será hacer CRUD a las tablas del modelo
 * Metodos de la clase (param sin especificar)
 * Get()
 * Getcolumns()
 * Getrows()
 * Set()
 * Upd()
 * Del()
  * 
 * @package App Cende Certificados
 * @subpackage Modelo Base Datos 
 * @author Eduardo Villta <[email protected]> <@eduardouio> 
 * @copyright 2012 CendeNdt <[email protected]>
 * @license (c)CendeNdt Todos los derechos reservados 
 * @link http://www.cendendt.com
 * @version 2.0
 * @access public
 *
 */
class M_Basedatos extends CI_Model{
 private $Query_;

 /**
 * Constructor de la clase, activamos el constructor de la clase padre para usar sus
 * métodos 
 */
 public function __construct(){
  parent::__construct();    
 }

 /**
 * Obtiene los registros de una tabla la consulta mas compleja a armar sería esta 
 * * SELECT cedula, nombres, apellidos FROM clientes WHERE id_cliente > 10 LIMIT 3;
 * @param string $tabla nombre de la tabla
 * @param string $condiciones condiciones WHERE del Sql
 * @param array $columnas clumnas a seleccionar 
 * @param int $limit Límie de resultados de la consulta
 *
 * @return array $query resultados de la consulta
 */
 public function Get($columnas,$tabla,$condiciones,$limit,$offset = 0){  
  #armamos la consulta
  $sql =  'SELECT';
  $i = 0;

  foreach ($columnas as $nombre) {
   if ($i == 0){
    $sql = $sql . ' ' . $nombre; //ponemos espacio
   }
   else {
    $sql = $sql . ',' . $nombre;   //ponemos coma
   }
   $i++;
  }

  $sql = $sql . ' FROM ' . $tabla;
  $sql = $sql . ' WHERE ' . $condiciones;  
  
  //validamos que exista un limite de consultas válido para paginacion
  if ($limit == 0 ){
   $sql = $sql . ' LIMIT ' . $limit . ',' . $offset;
   $this->Query_ = $this->db->query($sql);   
  }
  else{   
   $sql = $sql . ' LIMIT ' . $limit . ',' . $offset;       
   $this->Query_ = $this->db->query($sql);   
  }    
  return $this->Query_;
 }

 /**
 * Recupera los nombres de columna de una tabla
 * @param $tabla nombre de la tabla
 *
 * @return int numero de columnas de una tabla
 */
 public function Getcolumns($tabla){
  $columns = $this->db->list_fields($tabla);
  return $columns;

 }

 /**
 * Recupera el numero de filas de una tabla
 * @param $tabla nombre de la tabla
 *
 * @return int numero de filas de una tabla
 */
 public function Getrows($tabla){
  $var = $this->db->count_all_results($tabla);
  return $var;

 }

 /**
 * Establece registros en una tabla
 * @param $tabla la tabla a la que se le va a realizar la insercion
 * @param array $datos array asociativo con nombre/valor del nuevo registro
 *
 * @return boolean 
 */
 public function Set($tabla,$datos){  
  $sql = $this->db->insert_string($tabla,$datos);  
  $this->db->query($sql);
  return true;
 }

 /**
 * Actualiza un registros de una tabla
 * @param string $tabla nombre de la tabla a actualiazar
 * @param array $datod Array asociativo nombre/valor 
 * @param string $where condiciones para las actualizacuiones
 * 
 * @return boolean
 */
 public function Upd($tabla,$datos,$where){
  $sql = $this->db->update_string($tabla,$datos,$where);    
  $this->db->query($sql);
  return true;
  }

 /**
 * Borra registros de una tabla
 * @param string $tabla nombre de la tabla
 * @param string $condiciones condiciones WHERE del Sql 
 * @param int $limit Límie de los registros a afectar
 */
 public function Del($tabla,$condiciones,$limit){
  $sql = "DELETE FROM " . $tabla;
  $sql = $sql . ' WHERE ' . $condiciones;
  
  //validamos que exista un limite de consultas válido para paginacion
  if ($limit == 0 ){
   $this->Query_ = $this->db->query($sql);
  }
  else{
   $sql = $sql . ' LIMIT ' . $limit; 
   $this->Query_ = $this->db->query($sql);   
  }  
  return true;
 }

 /**
 * ultimo id insertado e la tabla
 */
 public function LastId(){  
  return $this->db->insert_id();  
 }

 /**
 * Recupera informacion de una tabla respecto a un id
 * informacion util para llenar un formulario de actualizacion
 */
 public function GetRow($tabla,$campo,$id){
  $sql = 'SELECT * FROM ' . $tabla . ' WHERE ' . $campo . ' = ' . $id ;
  $res = $this->db->query($sql);
  return $res->row_array();  
 }

 /**
 * Esta funcion retorna el string de la última consulta realizada
 */
 public function lastQuery(){
  return $this->db->last_query();
 }

}

 

Revise this Paste

Children: 60465
Your Name: Code Language: