<?php 
	include_once '../lib/conf/conexion.php';
	class Datos extends Conexion{

		//registra usuarios, articulos, ventas.
		public function create($tabla, $campos=false, $valores) {

			if($campos != false) {

				$campos = "($campos)";
			}

			$sql = "INSERT INTO $tabla $campos VALUES($valores)";

            try {

                $this->getConnect()->beginTransaction();
                
                $this->getConnect()->query($sql);

                $id = $this->getConnect()->lastInsertId();

                $this->getConnect()->commit();

                return $id;

            } catch(PDOException $e) {

                $this->getConnect()->rollback();

                return NULL;
            }
		}

		//consulta registros (usuarios,productos, s.cart)
		public function read($campos,$tabla,$condicion=false,$ordenar=false){

			if($condicion != false){

				$condicion="WHERE $condicion";
			}

			$sql = "SELECT $campos FROM $tabla $condicion $ordenar";
			$logFile = fopen("logSql.txt", 'a') or die("Error creando archivo");
	    	fwrite($logFile, "\n".date("d/m/Y H:i:s")."--> ".$sql) or die("Error escribiendo en el archivo");fclose($logFile);
			
			if($ejecutar = $this->getConnect()->query($sql)){
                
				return $ejecutar->fetchAll(PDO::FETCH_ASSOC);
			} else {

				return FALSE;
			}
			
			$ejecutar->close();
		}

        # Metodo que actualiza campos en BD
		public function update($tabla, $condicion=false, $campos){

			if($condicion != false) {

				$condicion = "WHERE ". $condicion;
			}

			$actualizar = "";

			foreach ($campos as $campo => $valor) {
				
				$actualizar.= "$campo=$valor,";
			}

			$campos = substr($actualizar, 0, -1);

			$sql = "UPDATE $tabla SET $campos $condicion";

			if($ejecutar = $this->getConnect()->query($sql)){

				return TRUE;
			} else {

				return FALSE;
			}
		}

		public function delete($tabla, $condicion=false, $campos){

			if($condicion != false) {

				$condicion = "WHERE ". $condicion;
			}

			$sql = "DELETE FROM $tabla $condicion";

			if($ejecutar = $this->getConnect()->query($sql)){

				return "success";
			} else {

				return FALSE;
			}
		}

		public function autoincrement($tabla, $campos){

			$campos = "MAX(".$campos.")";

			$id = $this->read($campos,$tabla);

			return $id[0][$campos]+1;
		}
	}


?>