Como remplazar un for por while ? o similar.
Publicado por Javier Santacruz (3 intervenciones) el 06/03/2018 02:46:30
Hola a todo programadores, tengo una inquietud de como resolver un par de lineas de codigo, les comento lo que estoy tratando de hacer.
Tengo una base de datos con dos tablas relacionadas, la tabla principal " usuarios " con algunos registros de ejemplo y la tabla dependiente " contabilidad " , esta obienmente con su clave foranea, al finalizar el mes cada usuario debe recibir su cuota por el dinero prestado, para el caso todos la misma cantidad.
Tengo un formulario html con los campos necesarios, que son:
Banco, fecha de consignaciòn, valor o cantidad de dinero.
He creado un archivo php que recibe estas variables, y debe insertarlas a la tabla contabilidad, bien
este codigo sencillo esta escrito de la siguiente manera:
Como se puede notar el siclo for si funciona, si hace la tarea, pero!!!! solo en el ejemplo de 5 usuarios, si se elimina uno ejemplo el 3, quedaria 1,2,4,5. el siclor aunque hace la tarea de nuevo, da el error al pasar po el ciclo 3, mi intencion es que este codigo quede flexible, quiero decir si se elimina registros o se agregan registro al consignar las cuotas funcione sin fallar teniendo en cuanta cada registro, he pensado talvez que un while o un do while podria funcionar, pero he quedado sin ideas de como organizarlo de una nueva menera.
Agadesco por si valioso tiempo y su colaboraciìon el la posible solucion de como quedaria, estaria demas si explican con algunos ejemplos de codigo ? :).
Tengo una base de datos con dos tablas relacionadas, la tabla principal " usuarios " con algunos registros de ejemplo y la tabla dependiente " contabilidad " , esta obienmente con su clave foranea, al finalizar el mes cada usuario debe recibir su cuota por el dinero prestado, para el caso todos la misma cantidad.
Tengo un formulario html con los campos necesarios, que son:
Banco, fecha de consignaciòn, valor o cantidad de dinero.
He creado un archivo php que recibe estas variables, y debe insertarlas a la tabla contabilidad, bien
este codigo sencillo esta escrito de la siguiente manera:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
session_start();
require('config.php'); /* Coneciòn con la base de datos */
if($conexion){
if($_POST){
$banco=$_POST['banco'];
$fecha=$_POST['fecha'];
$cuota=$_POST['cuota'];
$valor=$_POST['valor'];
$saldo=5400.000; /* El valor de la deuda como ejemplo */
$total=$valor*$cuota;
$saldo1=$saldo-$total; /* Saldo idica la cantidad faltante por pagar */
if($banco==""){echo"<script type=\"text/javascript\">alert('Ups olvido la entidad bancaria !!');
window.location='../tabla_generador_consignacion.php';</script>"; }
elseif($fecha==""){echo"<script type=\"text/javascript\">alert('Ups olvido la fecha !!');
window.location='../tabla_generador_consignacion.php';</script>";}
elseif($cuota==""){echo"<script type=\"text/javascript\">alert('Ups olvido lacuota !!');
window.location='../tabla_generador_consignacion.php';</script>";}
elseif($valor==""){echo"<script type=\"text/javascript\">alert('Ups olvido el dinero consignado !!');
window.location='../tabla_generador_consignacion.php';</script>";}
else{
/*TENER EN CUENTA QUE EL CONTADOR SOLO VA SI LOS REGISTROS SON CONSECUTIVOS*/
$cont = mysqli_query($conexion,"SELECT idusuarios FROM usuarios");
$num= mysqli_num_rows($cont);
for($a=3; $a<=$num; $a++) { /* Este for inicia en 3 asumiendo que los dos primeros son admin, los demas clientes */
$query=mysqli_query($conexion,
"INSERT INTO contabilidad (banco,fecha,cuotas,valor,saldo,usuarios_idusuarios0)
VALUES('$banco','$fecha','$cuota','$valor',$saldo1,'$a')")
or die ("<script type=\"text/javascript\">alert('Error al ingresar el nuevo registro, en la tabla contabilidad !!'); window.location='../tabla_generador_consignacion.php';</script>");
echo"<script type=\"text/javascript\">alert('Consignacion realizada con exito !!');window.location='../tabla_generador_consignacion.php';</script>";
}
}
}
}
mysqli_close($conexion);
header("window.location: ../tabla_generador_consignacion.php");
?>
Agadesco por si valioso tiempo y su colaboraciìon el la posible solucion de como quedaria, estaria demas si explican con algunos ejemplos de codigo ? :).
Valora esta pregunta


0