Bueno, pues tengo una tabla de facturas, en la cual se pueden Anular alguna por algún evento que haya ocurrido, ahora lo que quiero es que al momento de anularse NO se elimine si no que se pase automáticamente a otra tabla. Les muestro mi tabla de ingresar facturas y anular facturas:
Validar facturas:
Código PHP:
<html>
<meta http-equiv="content-type" content="text/html charset=utf-8"/>
<head>
</head>
<body>
<?php
require ("../Conexion/conexion.php");
if ($_POST){
$contrato=$_POST["contrato"];
$factura=$_POST["nf"];
$valorfactura=$_POST["vf"];
$fecha=$_POST["fecha"];
$sql= "select valor_contrato from contratos where numero_contrato='$contrato'"; //se hace la consulta del valor del contrato para almacenarla despues con un while
$sql2= "select saldo from facturas where contrato= '$contrato' "; // se hace la consulta del saldo para tambien almacenarla despues
$datos2 = mysqli_query($con,$sql); //se conecta y se hace la consulta del contrato
$datos3 = mysqli_query($con,$sql2); //se conecta y se hace la consulta del saldo
while ($reg = mysqli_fetch_array($datos2)) //traer el valor del contrato para despues comparar
{
$valor= $reg["valor_contrato"]; //variable que contiene el valor del contrato
}
while ($reg2 = mysqli_fetch_array($datos3)) //trae el valor del saldo para comparar
{
$saldo= $reg2["saldo"]; //variable con el valor del saldo
}
if (isset($saldo) and $saldo>0)
{
$resto= $saldo-$valorfactura; //se resta del saldo el valor de la factura
//una alerta en js
$inserccion="insert into facturas (numero_factura,fecha_factura,contrato,valor_factura,saldo)
values ('$factura','$fecha','$contrato','$valorfactura','$resto')"; // Se inserta en la tabla facturas
if ($valorfactura>$saldo){
echo "<script> alert ('Error, el saldo es ".$saldo." y el pago es de ".$valorfactura."');</script>";
exit;
}
$datos = mysqli_query($con,$inserccion); //conexion e inserccion de la consulta
if ($datos==0){
echo "<script> alert ('Error, ya existe un registro o no se puedo insertar uno nuevo') </script>";
}
if ($datos==1){
echo "<script> alert ('Se ha hecho el pago de ".$valorfactura.", el contrato tiene un saldo de ".$resto."') </script>";
}
}
if (empty($saldo) and is_null($saldo))
{
$resto2= $valor-$valorfactura; //se resta del valor del contrato el valor de la factura
$inserccion2="insert into facturas (numero_factura,fecha_factura,contrato,valor_factura,saldo)
values ('$factura','$fecha','$contrato','$valorfactura','$resto2')"; //se inserta la consulta
echo "<script> alert ('Se ha hecho el pago de ".$valorfactura.", el saldo es ".$resto2.".');</script>";
$datos4 = mysqli_query($con,$inserccion2);
}
elseif (!is_null($saldo) and $saldo==0){
echo "<script> alert('¡El saldo está en 0!');</script>";
}
}
?>
</body>
<html>
Y esta es la de Anular facturas, OJO no pueden quedar eliminadas como por el momento lo estoy haciendo, solo tienen que quitarse de la tabla facturas y pasar a una tabla de facturas anuladas
Código PHP:
<html>
<head>
<title></title>
</head>
<body>
<?php
require ("../Conexion/conexion.php");
if (isset($_POST["numfac"])){
$factura=$_POST["numfac"];
}
else{
$factura="";
}
if (isset($_POST["numcontra"])){
$contrato=$_POST["numcontra"];
}
else{
$contrato="";
}
if (isset($_POST["elim"])){
$botn=$_POST["elim"];
}
else{
$botn="";
}
$sql="delete from facturas where numero_factura='$factura' and contrato='$contrato';";
$datos=mysqli_query($con,$sql);
$borrados=mysqli_affected_rows($con);
if ($borrados==0 and $botn){
echo "<script> alert ('Error: No se ha borrado la factura, verifique el contrato o el numero de la factura'); </script>";
}
elseif($borrados==1 and $datos==1){
echo "<script> alert ('La factura ha sido eliminada'); </script>";
}
?>
<form action="" method="post">
Numero de la factura <input type="text" name="numfac"/>
Numero del contrato <input type="text" name="numcontra"/>
<input type="submit" value="Anular" name="elim"/>
</form>
<form action="../principal.php">
<input type="submit" value="Pagina principal"/>
</form>
</body>
</html>