Ayuda con consulta y cálculos

Hola, tengo una tabla donde registro las cuotas de un crédito y su estado (si esta pendiente o pagada), su fecha de vencimiento y fecha de pago de la cuota y tengo 3 columnas, una para mostrar los días atrasados, otra para ingresar los intereses por los días atrasados y una columna Total Pagado...
Necesito si me puedes ayudar en 3 cosas:
1.- En la columna Días Mora como hago el calculo para que aparezca automático este valor, tomando como referencia la fecha de vencimiento y la fecha actual (¿creo qué se podría hacer así cierto?)...
2.-En la columna Total a Pagar como hago para que realice el calculo tomando la cuota, los intereses atrasados...
En estas 2 preguntas la verdad a parte del procedimiento de como hacerlo, no se si debo hacerlo en php o javascript, ahora la idea es que independiente de con que se haga, igual debe quedar guardada toda esta info.
Y 3.- Como crear la consulta para crear informe donde se aparezcan las persona que están: Al día, con 1 a 3 cuotas pendientes y con más de 3 cuotas pendientes.
Bueno espero puedas ayudarme y disculpa lo extenso de mi pregunta...
Respuesta
1
1. Creo que la columna DiasMora no debería ser un campo sino una columna calculada, puesto que siempre va a depender del día actual y no vas a estar cambiándolo continuamente.
Simplemente usa la función DATEDIFF() que te informará de la diferencia de días entre las dos fechas.
Esta información no hace falta que se guarde sino que se muestre cuando se solicite:
SELECT DATEDIFF(vencimiento, CURDATE()) AS DiasMora FROM tutabla
2. El Total a pagar será un cálculo que puedes efectuar con cualquier lenguaje. Si estás trabajando con PHP lo lógico es que lo hagas con PHP.
3. No conozco la estructura de tu base de datos para poder decirte cómo han de ser las consultas que precisas, pero serán simples consultas SELECT donde en la cláusula WHERE deberás restringir según los campos que te proporcionen la información de las cuotas pendientes.
Ya que tenías la base de datos había supuesto que conocías SQL. Si no es así, deberías mirarte algún tutorial sobre ello.
En el manual de PHP tienes ejemplos de cómo se realizan las consultas:
http://www.php.net/manual/es/function.mysql-query.php
Según la estructura que tienes, entiendo que los clientes al día son los que seleccionando las cuotas de vencimiento menor al día actual, tienen el estatus de OK.
Para las otras consultas puedes agrupar las que tengan el estatus de pendientes. Se realiza con la clausula GROUP BY de SQL.
Quizás este tutorial te sea útil:
http://mysql.conclase.net/curso/index.php?cap=009
Parece que se ha repetido la respuesta.
Hola, muchas gracias por responder a estas horas (en mi país son las 5 de la madrugada)...
No entiendo donde debe ir el select para calcular los días mora, ¿esto va en alguna variable?.. y como le indico que muestre el resultado de ese select en el campo del formulario días mora...
Aquí mando la estructura de mi tabla para ver si puedes orientarme mejor con lo de las consultas para los clientes al día (y como determino si esta al día, ¿al estar los días mora en cero?), con 1 a 3 cuotas impagas y con más de 3 cuotas impagas. Las cuotas impagas se indican como pendientes y las pagado como OK.
CREATE TABLE `cuotas` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `idnventa` varchar(6) NOT NULL,
  `rut_cli` varchar(10) NOT NULL,
  `ncuota` int(4) NOT NULL,
  `fvenc` date NOT NULL,
  `capital` int(20) NOT NULL,
  `valcuota` int(11) NOT NULL,
  `interes` decimal(10,0) NOT NULL,
  `cpagado` int(20) NOT NULL,
  `fpago` date NOT NULL,
  `dias mora` int(4) NOT NULL,
  `intmora` int(11) NOT NULL,
  `totalpago` int(11) NOT NULL,
  `statuscuota` varchar(10) NOT NULL,
  `valresi` int(11) NOT NULL,
  PRIMARY KEY  (`id`,`idnventa`)
) ENGINE=InnoDB AUTO_INCREMENT=9239 DEFAULT CHARSET=utf8
Espero puedas ayudarme... de antemano gracias...
Ya que tenías la base de datos había supuesto que conocías SQL. Si no es así, deberías mirarte algún tutorial sobre ello. Prueba con:
http://mysql.conclase.net/curso/index.php?cap=000
En el manual de PHP tienes ejemplos de cómo se realizan las consultas. Sólo con esto ya podrás solucionar el problema:
http://www.php.net/manual/es/function.mysql-query.php
No se que paso que se repitió la pregunta...
Bueno... lo único que no entiendo es donde debe ir el select que me indicaste para calcular los días mora, ¿esto va en alguna variable?.. y como le indico que muestre el resultado de ese select en el campo del formulario días mora...
Gracias...
No sé qué es lo que haces pero eres al único que se le repiten las respuestas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas