Foros del Web » Programando para Internet » PHP »

generar nomina BD

Estas en el tema de generar nomina BD en el foro de PHP en Foros del Web. HOLA !!!! buen dia... tengo el proyecto de un sistema para generar nomina automaticamente, y ya con deducciones por cada trabajador, se supone que el ...
  #1 (permalink)  
Antiguo 20/05/2011, 08:49
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años, 7 meses
Puntos: 43
Sonrisa generar nomina BD

HOLA !!!! buen dia...

tengo el proyecto de un sistema para generar nomina automaticamente, y ya con deducciones por cada trabajador, se supone que el sistema lo debe de calcular automaticamente...e imprimirlo en forma de lista.....

Espero puedan ayudarme con esta pregunta por favor:
Se supone k tienen una tabla donde los contadores hacen sus calculos de deducciones y la he capturado en una tabla en mi base de datos:

tienen un limite inferior y un limite superior

Inferior: $ 16153.06
Superior: en adelante

¿como especifico en mi base de datos que despues de $16153.06, sea mi limite superior? o que todo lo que sea mayor que eso lo compare......

GRacias !!!!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #2 (permalink)  
Antiguo 20/05/2011, 08:54
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: generar nomina BD

Depende. ¿Controlas el límite con alguna variable en php o desde las consultas SQL?
En cualquier caso sólo tienes que cambiar el valor numérico por el nuevo ¿No?
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #3 (permalink)  
Antiguo 20/05/2011, 09:03
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años, 7 meses
Puntos: 43
Respuesta: generar nomina BD

Hola amigo!!
Es una tabla fija que se basan los contadores, pero el k no es fijo es el sueldo del trabajador, por eso me gustaria como que indicar que despues de cierto pago por ejemplo $16153.06 se base en el ultimo rango...


lim inf lim sup cuota porcentaje
0.01 244.80 0.00 1.92
244.81 2077.50 4.65 6.40
2077.51 3651.00 121.95 10.88
3651.01 4244.10 293.25 16
4244.11 5081.40 388.05 17.92
5081.41 10248.45 538.20 21.36
10248.46 16153.05 1641.75 23.52
16153.06 * 3030.60 30


mira esta es la tabla, donde esta el * es donde kiero porner o indicar que despues de esa cantidad de dinero lo tome ahi en cuenta, mas que nada me interesa porque tengo que hacer calculos con esos datos..........

gracias!!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #4 (permalink)  
Antiguo 20/05/2011, 09:04
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años, 7 meses
Puntos: 43
Respuesta: generar nomina BD

upssss se desacomodaron los numeros... lo siento, espero puedas comprenderlo :(
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #5 (permalink)  
Antiguo 20/05/2011, 09:07
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: generar nomina BD

No entiendo. Donde tienes tu * sólo debes hacer un insert si no hay valor o un Update si lo hubiera. ¿Tú duda está en la consulta o en algo de php?
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #6 (permalink)  
Antiguo 20/05/2011, 15:21
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: generar nomina BD

no pues la verdad yo tampoco entendi muy bien la duda, tienes esos datos y quieres que te despliege esos datos segun el limite superior?
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #7 (permalink)  
Antiguo 20/05/2011, 15:24
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: generar nomina BD

el asterisco esta ahi:


Código PHP:
Ver original
  1. lim inf  lim sup  cuota   porcentaje
  2. 0.01     244.80   0.00    1.92
  3. 244.81   2077.50  4.65    6.40
  4. 2077.51  3651.00  121.95  10.88
  5. 3651.01  4244.10  293.25  16
  6. 4244.11  5081.40  388.05  17.92
  7. 5081.41  10248.45 538.20  21.36
  8. 10248.46 16153.05 1641.75 23.52
  9. 16153.06 *        3030.60 30
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #8 (permalink)  
Antiguo 20/05/2011, 15:27
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 15 años, 2 meses
Puntos: 44
Respuesta: generar nomina BD

:S q es lo q kieres mostrar realmente
  #9 (permalink)  
Antiguo 20/05/2011, 15:36
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: generar nomina BD

creo que quiere hacer un cálcuco bajo un sueldo variable que se ubica entre esos limites y dependiendo del limite asignarle un calculo específico que vendría siendo una cuota y un porcentaje, y si sobrepasa el limite de 16153.06 obviamente tomar esos últimos, pero al parecer no sabemos como poner el último limite mas que con 999 XD

Código PHP:
Ver original
  1. lim inf  lim sup  cuota   porcentaje
  2.     0.01   244.80    0.00    1.92
  3.   244.81  2077.50    4.65    6.40
  4.  2077.51  3651.00  121.95   10.88
  5.  3651.01  4244.10  293.25   16.00
  6.  4244.11  5081.40  388.05   17.92
  7.  5081.41 10248.45  538.20   21.36
  8. 10248.46 16153.05 1641.75   23.52
  9. 16153.06 99999.99 3030.60   30.00
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #10 (permalink)  
Antiguo 20/05/2011, 15:41
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: generar nomina BD

segun yo va por aqui la onda es ver cual furula mejor

http://sql.1keydata.com/es/sql-between.php
http://sql.1keydata.com/es/sql-having.php
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #11 (permalink)  
Antiguo 20/05/2011, 15:53
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: generar nomina BD

Creo que seria algo como:

Código SQL:
Ver original
  1. SELECT * FROM tabla WHERE $salario >= lim_inf AND $salario <= lim_sup
__________________
- León, Guanajuato
- GV-Foto
  #12 (permalink)  
Antiguo 23/05/2011, 09:24
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años, 7 meses
Puntos: 43
Respuesta: generar nomina BD

hola mil disculpas, por no poder expresar bien mi duda, que pena, y como es de conta :( me ha causado pesar, pero como dice stramin es lo correcto

Cita:
cálcuco bajo un sueldo variable que se ubica entre esos limites y dependiendo del limite asignarle un calculo específico que vendría siendo una cuota y un porcentaje, y si sobrepasa el limite de 16153.06 obviamente tomar esos últimos, pero al parecer no sabemos como poner el último limite mas que con 999 XD
y es lo k pense para evitarme problemas asignar un numero mayor en mi espacio para que al menos tuviera un numero fijo:

se supone que debo de realizar el sig calculo: por ejm es para deducciones

$4685 Honorario
- $4244.11 Lim Inf

da como resultado

440.89 y se multiplica por el porcentaje 17.92 = 79.01 y se le suma la cuota fija + 388.05

y entonces la deduccion es 467.06

del honorario $4685 - 467.06 de la deduccion = $4217.94 sueldo k se paga al trabajador...


se puede haceer eso? que cuando ingrese mi honorario automatic amente me indique cual rango de la tabla le pertenece y haga los calculos necesarios dependiendo del honorario...........

gracias de antemano, y mil disculpas por no explicarme bien, estoy tomando un curso de conta :( pero aun asi me falta mas por comprender cosas y no es k no me agrade conta solo k no le entiendo......

Mil gracias..........
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #13 (permalink)  
Antiguo 24/05/2011, 14:12
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: generar nomina BD

aaaaah, creo que te entiendo algo mejor, siempre me ha costado la contabilidad, puedes hacerlo de 2 formas, publico la primera ahora y la otra mas rato...

mysql y sql pueden usar condicionales para guardar datos, una buena manera de hacerlo es esta:

SELECT
CASE
WHEN honorario<=244.8
THEN (honorario-0.01)*1.92/100+0
WHEN honorario<=2077.5
THEN (honorario-244.81)*6.40/100+4.65
WHEN honorario<=3651
THEN (honorario-lim_inf)*porcentaje/100+cuota
WHEN honorario<=4244.1
THEN (honorario-lim_inf)*porcentaje/100+cuota
WHEN honorario<=5081.4
THEN (honorario-lim_inf)*porcentaje/100+cuota
WHEN honorario<=10248.45
THEN (honorario-lim_inf)*porcentaje/100+cuota
WHEN honorario<=16153.05
THEN (honorario-lim_inf)*porcentaje/100+cuota
ELSE (honorario-lim_inf)*porcentaje/100+cuota
END AS sueldo.

debes cambiar cada "lim_inf", "porcentaje" y "cuota" por los valores correspondientes y en honorario pones siempre lo mismo

la segunda idea es un poco mas útil creo XD

la publico mas rato
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #14 (permalink)  
Antiguo 24/05/2011, 14:54
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: generar nomina BD

yap, ahora si XD

esta es la tabla fija donde tienes los datos la cual he llamado "tabla_fija":


si yo quiero insertar esos 4685, podríamos hacer un SELECT como este para ver los posibles valores en cada fila:

Código MySQL:
Ver original
  1. 4685 AS honorario,
  2. lim_inf AS inferior,
  3. (4685-lim_inf)*porcentaje/100+cuota AS deduccion,
  4. 4685-((4685-lim_inf)*porcentaje/100+cuota) AS sueldo
  5. FROM tabla_fija

lo cual nos da este resultado:


lo cual nos da el resultado que necesitamos en el rango, solo haría falta un WHERE indicando el rango que queremos para que nos de solo la quinta fila:

Código MySQL:
Ver original
  1. WHERE 4685>=lim_inf AND 4685<=lim_sup

teniendo ya todos los datos los podemos insertar, usaré una tabla que tendrá los campos: "honorarios", "lim_inf", "deduccion" y "sueldo", pero si tu quieres solo dejas "sueldo".

así quedaría el INSERT en PHP:

Código PHP:
$honorario=4685;
$query="INSERT INTO sueldos 
(SELECT
$honorario,
lim_inf,
($honorario-lim_inf)*porcentaje/100+cuota,
$honorario-(($honorario-lim_inf)*porcentaje/100+cuota)
FROM tabla_fija
WHERE $honorario>=lim_inf AND $honorario<=lim_sup)"

lo cual inserta estos valores en la tabla (los mismos que publicaste en tu respuesta)



y eso sería :)
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #15 (permalink)  
Antiguo 25/05/2011, 07:49
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años, 7 meses
Puntos: 43
Respuesta: generar nomina BD

Hola gracias !!!

ya con la infomacion q me has proporcionado ya tengo para entretenerme un buen rato, deja hago mis pruebas y ya te aviso como va resultando, yo tampoco se de conta jijiji no es muy de mi agrado pero ese es mi nuevo proyecto y pues php llevo muy poco tiempo asi k es doble estudiar jiji pero se puede...

mil gracias por la informacion....

Saludos----
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!

Etiquetas: bd, nomina
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:09.