RE: [PHP-ES] Funcion en Clase PHP

[email protected] (Carlos Sura)
Newsgroups php.general.es
Message-ID <[email protected]>

Hola Carlos, 
Gracias por responder...

Si, es que la verdad, no lo tenia bien entendido,y me puse a investigar... Entonces, te explico un poco mas:

Yo tengo la clase para la conexion, y la de empledaos y que ya puse anteriormente.... Ahora tengo otra clase, que es la que implementa los descuentos, asi no tengo que leerlos directamente de la base de datos.

class Procesos {

    var $isss_empleado = 3;
    var $isss_patrono = 7.5;
    var $isss_salmax = 685.71;
    var $afp_empleado = 6.25;
    var $afp_patrono = 6.75;
    var $afp_minimo = 207.6;
    var $afp_max = 5354.52;

    // constructor
    

    function Procesos($isss_empleado, $isss_patrono, $isss_salmax, $afp_empleado, $afp_patrono, $afp_minimo, $afp_max) {
        $this->isss_empelado = $isss_empleado;
        $this->isss_patrono = $isss_patrono;
        $this->isss_salmax = $isss_salmax;
        $this->afp_empleado = $afp_empleado;
        $this->afp_patrono = $afp_patrono;
        $this->afp_minimo = $afp_minimo;
        $this->afp_max = $afp_max;
    }


    // metodos get

    function get_isss_empleado() {
        return $this->isss_empleado;
    }

................... y los demas con las variables que estan arriba -metodos get-

function set_isss_empleado($v) {
        if(!is_numeric($v)) {
            return false;
        } else {
            $this->isss_empleado = $v;
        }
    }

.............. y los demas con las variables que estan arriba -seteos-


Me explico?... Entonces, yo imagino -doy por sentado-  que esta clase la puedo incluir en el archivo empleados.class.php  verdad??

Mi unica duda es, que el salario si depende de la base de datos, ya que no es salario fijo.... Entonces, como podria hacer para que la operacion retener el valor del salario... del empleado que se ingrese al momento?... Me cuesta un poco esa cuestion de logica...

Y gracias no habia tomado en cuenta lo de las inyecciones sql... En este momento ya lo estoy modificando.


Carlos Sura.





> To: [email protected]
> Date: Mon, 2 Aug 2010 13:04:25 +0200
> From: [email protected]
> Subject: Re: [PHP-ES] Funcion en Clase PHP
> 
> Hola Carlos,
> que quieres hacer? me imagino por lo que estas escribiendo que deseas 
> una ayuda en como formar declarar un metodo en la clase existente y que 
> funcione. Si es eso lo que deseas pues necesitas meter en la classe tu 
> funcion:
> 
> // me imagino que esta es la clase empleados...
> class empleados{
> 
> // aqui vendrian los otros metodos de la clase
> // me imagino que estas usando PHP4 si no escribe porque la cosa cambia
>          /*
>           * Funcion afp que hace esto y aquello
>           * @param Array array de opciones para el metodo
>           */
> 	function afp( $patrono,$empleado,$salario,$max,$min ){
> 	   var $resultado1_afp1;
>    	   var $resultado2_afp2;
> 	   if( if($this->con->conectar()==true){
> 	   {
> 		// sigues implementando
> 	   }		
> 	}
> }
> 
> El sql lo escribiria yo en otra parte para poder cambiarlos cuando 
> quiera. En cuanto a la arquitectura de la aplicacion no te puedo decir 
> mucho ya que no tengo informaciones suficientes sobre tu codigo pero me 
> imagino que es la tarea algo asi como migrar un codigo de funcional a 
> orientado a objetos.
> 
> Ten en cuenta ademas que debes tratar las variables antes de meterlas o 
> usarlas en sql. Prevee el SQL injection con los metodos que te da PHP 
> para esto. Acuerdate que colocando algo asi "SELECT * FROM empleados 
> WHERE id=".$id sin validar la variable te puede traer problemas de 
> inyeccion de codigo directo en la base de datos e incluso pueden extraer 
> la informacion.
> 
> Saludos y suerte
> 
> Carlos Medina
> 
> 
> Am 02.08.2010 02:07, schrieb Carlos Sura:
> > Y esta es la base de datos que tengo:
> >
> > 1.	SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
> > 2.	
> > 3.	--
> > 4.	-- Base de datos: `sistemas`
> > 5.	--
> > 6.	
> > 7.	-- --------------------------------------------------------
> > 8.	
> > 9.	--
> > 10.	-- Estructura de tabla para la tabla `configuracion`
> > 11.	--
> > 12.	
> > 13.	CREATE TABLE `configuracion` (
> > 14.	  `id_configuracion` INT(4) NOT NULL AUTO_INCREMENT,
> > 15.	  `nombre` VARCHAR(255) NOT NULL,
> > 16.	  `valor` FLOAT(10,2) NOT NULL,
> > 17.	  PRIMARY KEY  (`id_configuracion`)
> > 18.	) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='tabla de
> > configuracion para planilla' AUTO_INCREMENT=9 ;
> > 19.	
> > 20.	--
> > 21.	-- Volcar la base de datos para la tabla `configuracion`
> > 22.	--
> > 23.	
> > 24.	INSERT INTO `configuracion` VALUES (1, 'isss-empleado', 3.00);
> > 25.	INSERT INTO `configuracion` VALUES (2, 'isss-patrono', 7.50);
> > 26.	INSERT INTO `configuracion` VALUES (3, 'isss-salmax', 685.71);
> > 27.	INSERT INTO `configuracion` VALUES (4, 'afp-empleado', 6.25);
> > 28.	INSERT INTO `configuracion` VALUES (5, 'afp-patrono', 6.75);
> > 29.	INSERT INTO `configuracion` VALUES (6, 'afp-min', 207.60);
> > 30.	INSERT INTO `configuracion` VALUES (7, 'afp-max', 5354.52);
> >
> >
> >
> > Quiero que la función renta, isss, afp, lea los valores de esta tabla,
> > verifique el salario del empleado y
> > me regrese un valor en la caja, que sería uno, el descuento del isss, el
> > otro del afp y  el otro de la renta
> > Que el de la renta no tengo los valores de momento...
> >
> > -----Original Message-----
> > From: Carlos Sura [mailto:[email protected]]
> > Sent: domingo, 01 de agosto de 2010 06:06 p.m.
> > To: '[email protected]'
> > Subject: RE: [PHP-ES] Funcion en Clase PHP
> >
> > Esta es la clase que tengo empleado.class.php
> >
> >      function insertar($campos){
> >          if($this->con->conectar()==true){
> >              //print_r($campos);
> >              //echo "INSERT INTO empleados (nombre, apellido, salario, dui,
> > afp, isss, nit) VALUES ('".$campos[0]."',
> > '".$campos[1]."','".$campos[2]."','".$campos[3]."','".$campos[4]."','".$camp
> > os[5]."','".$campos[6]."')");
> >              return mysql_query("INSERT INTO empleados (nombre, apellido,
> > salario, dui, afp, isss, nit) VALUES ('".$campos[0]."',
> > '".$campos[1]."','".$campos[2]."','".$campos[3]."','".$campos[4]."','".$camp
> > os[5]."','".$campos[6]."')");
> >          }
> >      }
> >
> >      function actualizar($campos,$id){
> >          if($this->con->conectar()==true){
> >              //print_r($campos);
> >              return mysql_query("UPDATE empleados SET nombre =
> > '".$campos[0]."', apellido = '".$campos[1]."', salario = '".$campos[2]."',
> > dui = '".$campos[3]."', afp = '".$campos[4]."', isss = '".$campos[5]."', nit
> > = '".$campos[6]."' WHERE id = ".$id);
> >          }
> >      }
> >
> >      function mostrar_empleado($id){
> >          if($this->con->conectar()==true){
> >              return mysql_query("SELECT * FROM empleados WHERE id=".$id);
> >          }
> >      }
> >
> >      function mostrar_empleados(){
> >          if($this->con->conectar()==true){
> >              return mysql_query("SELECT * FROM empleados ORDER BY id DESC");
> >          }
> >      }
> >
> >      function eliminar($id){
> >          if($this->con->conectar()==true){
> >              return mysql_query("DELETE FROM empleados WHERE id=".$id);
> >          }
> >      }
> > }
> >
> >
> > Agrego, actualizo, muestro y elimino campos.
> >
> > Ahora bien, quiero agregarle las funciones a esta, pero sencillamente, no sé
> > cómo hacer que los datos me los lea a la tabla que tengo que se llama:
> > Configuraciones
> >
> > -----Original Message-----
> > From: Carlos Sura [mailto:[email protected]]
> > Sent: domingo, 01 de agosto de 2010 06:01 p.m.
> > To: [email protected]
> > Subject: [PHP-ES] Funcion en Clase PHP
> >
> > Hola amigos,
> >
> >
> >
> > Quisiera saber si me pueden ayudar… La verdad es que no estoy muy
> > familiarizado con las clases en PHP… Y quisiera saber si me pueden explicar
> > o ayudar… No requiero de mucho la verdad… Y si se preguntan porque decidí
> > hacerlo en clases –y no sé nada- . La respuesta es porque me gusta probar
> > cosas nuevas y aprender; segundo porque así me lo pidieron.
> >
> >
> >
> > Esta es la función:
> >
> >
> >
> > <?php
> > function afp($patrono,$empleado,$salario,$max,$min){
> >      var $patrono;
> >      var $empleado;
> >      var $resultado1_afp1;
> >      var $resultado2_afp2;
> >      if ($salario>= $max){
> >          $resultado_afp1=$salario*$patrono;
> >          $resultado_afp2=$salario*$empleado;
> >      } else{
> >          $resultado_afp1="";$resultado_afp2="";
> >      }
> >      ///resultados obtenidos en
> > variables:////////////////////////////////////////////
> >      //$resultado1_afp1;
> >      //$resultado2_afp2;
> > }
> > function renta($patrono,$empleado,$salario,$max,$min){
> >      var $patrono;
> >      var $empleado;
> > }
> > function isss($patrono,$empleado,$salario,$max,$min){
> >      var $patrono;
> >      var $empleado;
> >      var $patrono;
> >      var $empleado;
> >      var $resultado1_isss1;
> >      var $resultado2_isss2;
> >      if ($salario>= $max){
> >          $resultado1_isss1=$max*$patrono;
> >          $resultado2_isss2=$max*$empleado;
> >      } else{
> >          $resultado1_isss1=$salario*$patrono;
> >          $resultado1_isss1=$salario*$empleado;
> >          }
> >      ///resultados obtenidos en
> > variables:////////////////////////////////////////////
> >      //$resultado1_isss1;
> >      //$resultado2_isss2;
> > }
> >
> >
> > //isss emp 3%
> > //isss pat 7.5%
> > //isss max 685.7
> > //afp-emp 6.25%
> > //afp-pat 6.75%
> > //afp-min 207.60
> > //afp-max 5354.52
> > //renta
> > ?>
> >
> >
> >
> >
> 
> 
> -- 
> PHP Spanish Localization Talk Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.