Re: [PHP-ES] Funcion en Clase PHP

[email protected] (Carlos Medina)
Newsgroups php.general.es
Organization SimplyNetworks
Message-ID <[email protected]>
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
> ?>
>
>
>
>
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.