Pregunta:
Fecha: 28-09-2017 16:40:05
(En Español)
en este caso pongamos de deuda total 5,000 y el usuario accedió a hacer abonos de 500 por 10 meses para poder cancelar lo pendiente.
El caso es que ahora quiero agregar un input donde el usuario si ha cancelado menos(o más) pueda restar la cuota o que los pagos se cambien al saldo pendiente entre los meses restantes.
espero me puedan comprender.
aca dejo el codigo:
saludos
Joaquin Votos: 0 - Respuestas: 2 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
pago por cuotas[Resuelta]
Que tal amigos, tengo un un código de cuotas a pagar que actualmente funciona bien. por ejemplo, si el usuario tiene un caso pendiente de pago de 5,000 puede pagarlo en cuotas fijas sin intereses desde 2 hasta 12.en este caso pongamos de deuda total 5,000 y el usuario accedió a hacer abonos de 500 por 10 meses para poder cancelar lo pendiente.
El caso es que ahora quiero agregar un input donde el usuario si ha cancelado menos(o más) pueda restar la cuota o que los pagos se cambien al saldo pendiente entre los meses restantes.
espero me puedan comprender.
aca dejo el codigo:
$percibido = $_POST['pagos']; //percibido es la cuota a abonar diferente a la pactada
$id = $_POST['idCaso']; // id del usuario
//a continuación se selecciona los datos del usuario
$query = "SELECT honorario, nCuotas, cantPagar FROM CASOS WHERE idCaso = '$id'";
$stmt = $conn->prepare($query);
$stmt->bindParam(1, $_REQUEST['idCaso']);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$honorario = $row['honorario'];
$nCuotas = $row['nCuotas'];
$cantPagar = $row['cantPagar'];
// ACA INTENTO AGREGAR EL PAGO SEGÚN SEA LA CANTIDAD DEL ABONO, SI ESTÁ SUPERA LA CUOTA PACTADA
for($i=0+$result;$i>=$cantPagar;$i++) {
$percibido - $cantPagar = $result;
//intento insertar los pagos de las cuotas...no funciona
$stmt = $conn->prepare("INSERT INTO PAGOS
(id_user, idCli, idCaso, pagos )
VALUES
(:id_user, :idCli, :idCaso, :pagos)");
if ($stmt->execute(array(
':id_user' => $_POST['id_user'],
':idCli' => $_POST['idCli'],
':idCaso' => $_POST['idCaso'],
':pagos' => $cantPagar
)));
$dbSuccess = true;
}
//selecciono el historial de los pagos del usuario
$query = "SELECT COUNT(idPago) AS idPago, SUM(pagos) AS pagos FROM PAGOS WHERE idCaso = '$id'";
$stmt = $conn->prepare($query);
$stmt->bindParam(1, $_REQUEST['idCaso']);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$pagos = $row['pagos'];
$idPago = $row['idPago'];
if($pagos){
if($pagos != $honorario) {$statusHono = '1';} else {$statusHono = '0';};
$sql = "UPDATE CASOS SET
statusHono = :statusHono
WHERE idCaso= :idCaso";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':statusHono', $statusHono, PDO::PARAM_STR);
$stmt->bindParam(':idCaso', $id, PDO::PARAM_INT);
$stmt->execute();
}
//Genero las cuotas faltantes, el total abonado y el total a pagar
$pagado = ($nCuotas * $cantPagar);
$cuotaPagada = ($cantPagar*$idPago);
$balance = ($pagado-$cuotaPagada);
$cuota = $idPago;
$faltaCuota = ($nCuotas-$idPago);
saludos
Joaquin Votos: 0 - Respuestas: 2 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 30-09-2017 04:39:53 yo crearia una tabla o adaptaria la que tengo, por ejemplo:
Tabla Deudas:
Cliente Deuda Cuotas Pagadas Monto Cuota Pagado Pendiente Estado
entonces registraria en otra tabla la cuota pagada por el cliente mientras que actualizo la tabla de control, en codeiginiter seria algo así:
$monto = $this->input->post('monto'); $this->db->set('pagadas','pagadas + 1', FALSE);//Actualizo la cantidad de cuotas pagadas $this->db->set('pagado','pagado +'.$monto, FALSE);//actualizo el monto pagado hasta la fecha $this->db->set('pendiente','pendiente -'.$monto, FALSE);//actualizo el monto que adeuda el cliente $this->db->set('montocuota','pendiente / (cuotas - pagadas)', FALSE);//ajusto el monto de las cuotas del cliente a la nueva deuda pendiente $this->db->update('test');//actualizo el usuario //Registro la cuota pagada del cliente $data = array( 'fecha' => $this->my_general->date(), 'cliente' => '14186540', 'monto' => $monto, ); $this->db->insert('testb',$data);
[url=https://ibb.co/m8d10b]
[/url]
estudia esto y adaptalo a tu tabla Votos: 2 - Link respuesta -
Fecha: 09-10-2017 16:12:54 Gracias Carlos Quintero, disculpa que hasta ahora lo reviso, pero no había tenido tiempo por cuestiones laborales.
Lo modifiqué un poco siguiendo tu consejo y me funcionó a la perfección Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
