<?php

class Conexion  // se declara una clase para hacer la conexion con la base de datos
{
	var $con;
	function Conexion()
		   	 
	{
		// se definen los datos del servidor de base de datos 
		$conection['server']="localhost";  //host
		$conection['user']="root";         //  usuario
		$conection['pass']="buttons";		//password
		$conection['base']="marbella_egocar";			//base de datos
		
		
		// crea la conexion pasandole el servidor , usuario y clave
		$conect= mysql_pconnect($conection['server'],$conection['user'],$conection['pass']);


			
		if ($conect) // si la conexion fue exitosa , selecciona la base
		{
			mysql_select_db($conection['base']);			
			$this->con=$conect;
		}
	}
	function getConexion() // devuelve la conexion
	{
		return $this->con;
	}
	function Close()  // cierra la conexion
	{
		mysql_close($this->con);
	}	

}


class sQuery   // se declara una clase para poder ejecutar las consultas, esta clase llama a la clase anterior
{

	var $pconeccion;
	var $pconsulta;
	var $resultados;
	function sQuery()  // constructor, solo crea una conexion usando la clase "Conexion"
	{
		$this->pconeccion= new Conexion();
	}
	function executeQuery($cons)  // metodo que ejecuta una consulta y la guarda en el atributo $pconsulta
	{
		$this->pconsulta= mysql_query($cons,$this->pconeccion->getConexion());
		return $this->pconsulta;
	}	
	function getResults()   // retorna la consulta en forma de result.
	{return $this->pconsulta;}	
	
	function Close()		// cierra la conexion
	{$this->pconeccion->Close();}	
	
	function Clean() // libera la consulta
	{mysql_free_result($this->pconsulta);}
	
	function getResultados() // debuelve la cantidad de registros encontrados
	{return mysql_affected_rows($this->pconeccion->getConexion()) ;}
	
	function getAffect() // devuelve las cantidad de filas afectadas
	{return mysql_affected_rows($this->pconeccion->getConexion()) ;}
}




class Producto
{
	var $nombreproducto;     //se declaran los atributos de la clase, que son los atributos del cliente
	var $preciounitario;
	var $id_producto;
	function Producto($nro=0) 
	{
		if ($nro!=0)
		{
			$obj_producto=new sQuery();
			$result=$obj_producto->executeQuery("select * from productos where id_producto = $nro");  
			$row=mysql_fetch_array($result);
			$this->id_producto=$row['id_producto'];
			$this->nombreproducto=$row['nombreproducto'];
			$this->preciounitario=$row['preciounitario'];
			
		}
	}
	function getProductos() // este metodo podria no estar en esta clase, se incluye para simplificar el codigo, lo que hace es traer todos los clientes 
		{
			$obj_producto=new sQuery();
			$result=$obj_producto->executeQuery("select * from productos ORDER BY id_producto DESC");
			return $result; // retorna todos los alumnos
		}
		
		// metodos que devuelven valores
	function getID()
	 { return $this->id_producto;}
	function getNombreProducto()
	 { return $this->nombreproducto;}
	function getPrecioUnitario()
	 { return $this->preciounitario;}
	
	 
		// metodos que setean los valores
	function setNombreProducto($val)
	 { $this->nombreproducto=$val;}
 	function setPrecioUnitario($val)
         {  $this->preciounitario=$val;}
    
		

	function updateProducto()	// actualiza el cliente cargado en los atributos
	{
			$obj_producto=new sQuery();
			$query="UPDATE productos set nombreproducto='$this->nombreproducto', preciounitario='$this->preciounitario' WHERE id_producto = $this->id_producto";
			$obj_producto->executeQuery($query); // ejecuta la consulta para traer al alumno
			return $query .'<br/>Registros afectados: '.$obj_producto->getAffect(); // retorna todos los registros afectados
	
	}
	function insertProducto()	// inserta el alumno cargado en los atributos
	{
			$obj_producto=new sQuery();
			$query="INSERT INTO productos(
			nombreproducto, 
			preciounitario
			)
			VALUES(
			'$this->nombreproducto',
			'$this->preciounitario'	
			)";
			
			$obj_producto->executeQuery($query); // ejecuta la consulta para traer al alumno
			return $query .'<br/>Registros afectados: '.$obj_producto->getAffect(); // retorna todos los registros afectados

			
			
		}	
		
	function deleteProducto($val)	
	{
			$obj_producto=new sQuery();
			$query="DELETE FROM productos WHERE id_producto=$val";
			$obj_producto->executeQuery($query); // ejecuta la consulta para  borrar el alumno
			return $query .'<br/>Registros afectados: '.$obj_producto->getAffect(); // retorna todos los registros afectados
	
	}	
	
	
	
}


?>