<a href="actualiza.php?q=subcuentas"><li class="list-group-item">Actualizar saldos de las subcuentas</li></a>
<a href="actualiza.php?q=cuentas"><li class="list-group-item">Actualizar saldos de las cuentas</li></a>
<?php
error_reporting(E_ALL ^ E_NOTICE);
if(!isset($conexion))
{
include("conexion.php");
}
include("funciones.php");
$q = $_GET["q"];
if($q=="subcuentas")
{
$sql = "SELECT * FROM subcuentas";
$ejecutar_consulta = $conexion->query($sql);
while($regs = $ejecutar_consulta->fetch_assoc())
{
actualizarCuentas($conexion, $regs["codigo_subcuenta"]);
}
$mensaje="Se actualizaron los saldos de todas las subcuentas.";
header("Location: actualizar.php?mensaje=$mensaje");
} else if($q=="cuentas")
{
$sql = "SELECT * FROM cuentas";
$ejecutar_consulta = $conexion->query($sql);
while($regs = $ejecutar_consulta->fetch_assoc())
{
actualizarCuentas($conexion, $regs["codigo_cuenta"]);
saldosCuentas($conexion, $regs["codigo_cuenta"]);
}
$mensaje="Se actualizaron los saldos de todas las cuentas.";
header("Location: actualizar.php?mensaje=$mensaje");
}
?>
function actualizarCuentas($conexion, $cuenta){
$c = explode('.', $cuenta);
if(isset($c[4])){
//$sql = "SELECT SUM(debe) sumadebe, SUM(haber) sumahaber FROM registro WHERE cuenta='$cuenta'";
$sql = "SELECT IFNULL((SELECT SUM(debe) FROM registro WHERE cuenta='$cuenta'),0) sumadebe, IFNULL((SELECT SUM(haber) FROM registro WHERE cuenta='$cuenta'),0 ) sumahaber";
$ejecutar_consulta = $conexion->query($sql);
while($regs = $ejecutar_consulta->fetch_assoc()){
$saldo_debe = $regs["sumadebe"];
$saldo_haber = $regs["sumahaber"];
$update = "UPDATE subcuentas SET saldo_debe=$saldo_debe, saldo_haber=$saldo_haber WHERE codigo_subcuenta='$cuenta'";
$ex_query = $conexion->query($update);
if($ex_query){
//echo "OK. <br>";
}
}
}
if(!isset($c[4])){
//$sql = "SELECT SUM(debe) sumadebe, SUM(haber) sumahaber FROM registro WHERE cuenta='$cuenta'";
$sql = "SELECT IFNULL((SELECT SUM(debe) FROM registro WHERE cuenta='$cuenta'),0) sumadebe, IFNULL((SELECT SUM(haber) FROM registro WHERE cuenta='$cuenta'),0 ) sumahaber";
$ejecutar_consulta = $conexion->query($sql);
if($ejecutar_consulta){
while($regs = $ejecutar_consulta->fetch_assoc()){
$saldo_debe = $regs["sumadebe"];
$saldo_haber = $regs["sumahaber"];
$update = "UPDATE cuentas SET saldo_debe=$saldo_debe, saldo_haber=$saldo_haber WHERE codigo_cuenta='$cuenta'";
$ex_query = $conexion->query($update);
if($ex_query){
//echo "OK. <br>";
}
}
}
}
}
function saldosCuentas($conexion, $cuentas){
$sql = "SELECT IFNULL((SELECT SUM(saldo_debe) FROM subcuentas WHERE cuenta = '$cuentas'),0) sumadebe, IFNULL((SELECT SUM(saldo_haber) FROM subcuentas WHERE cuenta='$cuentas'),0) sumahaber;";
$ejecutar_consulta = $conexion->query($sql);
if($ejecutar_consulta->num_rows > 0 ){
while ($regs = $ejecutar_consulta->fetch_assoc()) {
$saldo_debe = $regs["sumadebe"];
$saldo_haber = $regs["sumahaber"];
//$cuenta = $regs["cuenta"];
$consulta = "UPDATE cuentas SET saldo_debe=$saldo_debe, saldo_haber=$saldo_haber WHERE codigo_cuenta='$cuentas'";
$ejecutar = $conexion->query($consulta);
if($ejecutar_consulta){
//echo "OK. <br>";
}
}
}
}
<body>
<!-- Barra de navegación -->
<?php include("nav.php"); ?>
<?php include("funciones.php"); ?>
<?php
if(!isset($conexion)){ include("conexion.php");}
$sql = "SELECT * FROM cuentas";
$ejecutar_consulta = $conexion->query($sql);
while($regs = $ejecutar_consulta->fetch_assoc()){
actualizarCuentas($conexion, $regs["codigo_cuenta"]);
saldosCuentas($conexion, $regs["codigo_cuenta"]);
}
?>
<!-- Contenido de la página -->
<div class="container" id="contenido">
<div class="row row-offcanvas row-offcanvas-right">
<div class="col-xs-12 col-sm-9">
<div class="page-header">
<h3></h3>
</div>
<div class="row">
<div class="col-lg-12 well">
<h2 class="text-primary"><span class="glyphicon glyphicon-info-sign"></span> Libro Mayor General</h2>
<p align="justify" class="text-info">
</p>
</div>
<hr>
<div class="col-lg-12">
<table class="table table-condensed table-bordered table-striped">
<thead>
<tr>
<th>Cuenta</th>
<th width="100">Debe</th>
<th width="100">Haber</th>
</tr>
</thead>
<tbody>
<?php
if(!isset($conexion)){
include("conexion.php");
}
$sql = "SELECT DISTINCTROW(cuenta) cuentas FROM registro";
$ejecutar_consulta = $conexion->query($sql);
while($registro = $ejecutar_consulta->fetch_assoc()){
actualizarCuentas($conexion, $registro["cuentas"]);
}