• Lunes 23 de Diciembre de 2024, 15:53

Autor Tema:  como poner los datos de esta tabla en arrays?  (Leído 1830 veces)

gokufast

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
como poner los datos de esta tabla en arrays?
« en: Jueves 19 de Marzo de 2009, 14:04 »
0
hola amigos tengo la siguiente duda, primero genero la tabla:
Código: PHP
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>Untitled Document</title>
  6. <style type="text/css">
  7. <!--
  8. .style1 {font-size: 10px}
  9. .style2 {font-size: 10px; font-weight: bold; }
  10. -->
  11. </style>
  12. </head>
  13. <body>
  14. <?
  15.  
  16. $monto = 11188;
  17. $interes_mes_1 = 0.08/12;/*$monto*(8/12/100);*/
  18. $amortizacion_mes_1 = $cuota_mes - $interes_mes_1;
  19. $acumulada_mes_1 = $amortizacion_mes_1;
  20. $pendiente_mes_1 = $monto - $amortizacion_mes_1;
  21. $meses = 18;
  22. $cuota_mes = $monto/((1-(1/pow((1+$interes_mes_1),$meses)))/$interes_mes_1);
  23. ?>
  24. <table width="361" border="0" cellspacing="2" cellpadding="1">
  25.   <tr>
  26.     <td width="295"><div align="right" class="style2">MONTO</div></td>
  27.     <td width="56"><div align="right" class="style2"><? echo $monto; ?></div></td>
  28.   </tr>
  29.   <tr>
  30.     <td width="295"><div align="right" class="style2">INTERES MENSUAL </div></td>
  31.     <td width="56"><div align="right" class="style2"><? echo number_format($interes_mes_1,2); ?></div></td>
  32.   </tr>
  33.   <tr>
  34.     <td width="295"><div align="right" class="style2">TIEMPO DE PAGO EN MESES </div></td>
  35.     <td width="56"><div align="right" class="style2"><? echo $meses; ?></div></td>
  36.   </tr>
  37.   <tr>
  38.     <td width="295"><div align="right" class="style2">CUOTA MES EN USD </div></td>
  39.     <td width="56"><div align="right" class="style2"><? echo $cuota_mes; ?></div></td>
  40.   </tr>
  41. </table>
  42. <br />
  43. <table width="600" border="1" cellspacing="1" cellpadding="1">
  44.   <tr>
  45.     <td width="33"><div align="center"><span class="style1"></span></div></td>
  46.     <td width="110"><div align="center" class="style1"><strong>AMORTIZACION</strong></div></td>
  47.     <td width="110"><div align="center" class="style1"><strong>INTERES</strong></div></td>
  48.     <td width="110"><div align="center" class="style1"><strong>TOTAL</strong></div></td>
  49.     <td colspan="2"><div align="center" class="style1"><strong>AMORTIZACION</strong></div></td>
  50.   </tr>
  51.   <tr>
  52.     <td width="33"><div align="center" class="style1"><strong>nro</strong></div></td>
  53.     <td width="110"><div align="center" class="style1"><strong>MES</strong></div></td>
  54.     <td width="110"><div align="center" class="style1"><strong>MES</strong></div></td>
  55.     <td width="110"><div align="center" class="style1"><strong>MES</strong></div></td>
  56.     <td width="110"><div align="center" class="style1"><strong>ACUMULADA</strong></div></td>
  57.     <td width="110"><div align="center" class="style1"><strong>PENDIENTE</strong></div></td>
  58.   </tr>
  59.   <?
  60.   $amort=0;
  61.   $inter=0;
  62.   $cuota=0;
  63.   $acumu=0;
  64.   $pendi=$monto;
  65.   function roundo($valor)
  66.   {
  67.    $float_redondeado=round($valor * 100) / 100;
  68.    return $float_redondeado;
  69. }
  70.  
  71. for($x=0;$x<=$meses;$x++){
  72.   ?>
  73.   <tr>
  74.     <td width="33"> <span class="style2"><? echo $x;?></span></td>
  75.     <td width="110"><span class="style2"><? echo $amort;  ?></span></td>
  76.     <td width="110"><span class="style2"><? echo $inter;  $inter=$pendi*8/12/100;?></span></td>
  77.     <td width="110"><span class="style2"><? echo $cuota;  $cuota=$cuota_mes*1;?></span></td>
  78.     <td width="110"><span class="style2"><? echo $acumu;  ?></span></td>
  79.     <td width="110"><span class="style2"><? echo $pendi;  $amort=$cuota-$inter; $pendi=$pendi-$amort; $acumu=$acumu+$amort;?></span></td>
  80.   </tr>
  81.   <? } ?>
  82. </table>
  83.  
  84. </body>
  85. </html>
  86.  
los datos de cada columna lo quiero ingresar en un array por ejemplo un array que sea amortizacion y que tenga todos los datos desde el 1 al 18.
otro array que sea interes y que tenga todos los datos del 1 al 18 y asi tener un array para cada columna y que guarde todos los datos que la tabla contiene.

ademas ver si ingresando todo en arrays sea mas facil para ingresarlo en una base de datos, para poder la misma tabla posteriormente.

existe el problema es que esa tabla es para amortizacion de prestamos, y cada prestamo tiene su tabla, e ingresarla fila a fila a una BD me generaria muchisima redundancia, es por eso que estoy viendo si el uso de arrays seria la mejor opcion, asi en lugar de tener 18 filas y en cada fila repetido el nombre del socio, y su numero, solamente tendria una fila.

o estoy equivocado? XD
What Did One Snowman Say To The Other Snowman???

Do you smell carrots??

gokufast

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: como poner los datos de esta tabla en arrays?
« Respuesta #1 en: Viernes 27 de Marzo de 2009, 14:15 »
0
bueno seria algo asi, puede que no sea el mismo codigo pero la idea es esta.

Código: PHP
  1. $interes_tabla_1 = $interes_mes_1_tabla_1;
  2. $interes_array_1 = array();
  3. $amortizacion_tabla_1 = $amortizacion_mes_1_tabla_1;
  4. $amortizacion_array_1 = array();
  5. $cuota_tabla_1 = $cuota_mensual;
  6. $cuota_array_1 = array();
  7. $acumulada_tabla_1 = $amortizacion_tabla_1;
  8. $acumulada_array_1 = array();
  9. $pendiente_tabla_1 = $pendiente_mes_1_tabla_1;
  10. $pendiente_array_1 = array();
  11. for($y=1;$y<=$plazo_meses;$y++)
  12. {
  13.    $interes_array_1[] = $interes_tabla_1;
  14.    $interes_tabla_1=round(($pendiente_tabla_1*$interes_mensual),2);
  15.    $amortizacion_array_1[] = $amortizacion_tabla_1;
  16.    $amortizacion_tabla_1=round(($cuota_tabla_1-$interes_tabla_1),2);
  17.    $cuota_array_1[] = $cuota_tabla_1;
  18.    $cuota_tabla_1 = round(($interes_tabla_1 + $amortizacion_tabla_1),2);
  19.    $acumulada_array_1[] = $acumulada_tabla_1;
  20.    $acumulada_tabla_1= round(($acumulada_tabla_1+$amortizacion_tabla_1),2);
  21.    $pendiente_array_1[] = $pendiente_tabla_1;
  22.    $pendiente_tabla_1=round(($pendiente_tabla_1-$amortizacion_tabla_1),2);
  23. }
  24.  
What Did One Snowman Say To The Other Snowman???

Do you smell carrots??

Darkfirephoenix

  • Nuevo Miembro
  • *
  • Mensajes: 8
  • Nacionalidad: mx
    • Ver Perfil
Re: como poner los datos de esta tabla en arrays?
« Respuesta #2 en: Domingo 29 de Marzo de 2009, 01:21 »
0
Aquí esta mi solucion particular, uso un arreglo bidimensional para almacenar todos los valores y dibujo la tabla en base al arreglo:

Código: PHP
  1.  
  2. <html>
  3. <head>
  4. <title>Array</title>
  5. <style type="text/css">
  6. <!--
  7. .style1 {font-size: 10px; font-weight: bold;}
  8. .style2 {font-size: 10px; font-weight: bold; vertical-align:center; }
  9. -->
  10. </style>
  11. </head>
  12. <body>
  13. <?
  14.   $monto = 11188;
  15.   $interes_mes_1 = 0.08/12;
  16.   $amortizacion_mes_1 = $cuota_mes - $interes_mes_1;
  17.   $acumulada_mes_1 = $amortizacion_mes_1;
  18.   $pendiente_mes_1 = $monto - $amortizacion_mes_1;
  19.   $meses = 18;
  20.   $cuota_mes = $monto/((1-(1/pow((1+$interes_mes_1),$meses)))/$interes_mes_1);
  21.   $pendi=$monto;
  22.   function roundo($valor)
  23.   {
  24.    $float_redondeado=round($valor * 100) / 100;
  25.    return $float_redondeado;
  26.   }
  27.  
  28. for($x=0;$x<=$meses;$x++){
  29.     //$Tabla_resultados almacena todos los valores, cada columna([0]-[5]) equivale a una columna de la tabla.
  30.     $tabla_resultados[0][$x]=$x;
  31.     $tabla_resultados[1][$x]=$amort;
  32.     $tabla_resultados[2][$x]=$inter; $inter=$pendi*8/12/100;
  33.     $tabla_resultados[3][$x]=$cuota; $cuota=$cuota_mes*1;
  34.     $tabla_resultados[4][$x]=$acumu;
  35.     $tabla_resultados[5][$x]=$pendi; $amort=$cuota-$inter; $pendi=$pendi-$amort; $acumu=$acumu+$amort;
  36. }?>
  37.  
  38. <table width="600" border="1" cellspacing="1" cellpadding="1">
  39.   <tr align="center" class="style1">
  40.     <td width="33"></td>
  41.     <td width="110">AMORTIZACION<td>
  42.     <td width="110">INTERES</td>
  43.     <td width="110">TOTAL</td>
  44.     <td colspan="2">AMORTIZACION</td>
  45.   </tr>
  46.   <tr align="center" class="style1">
  47.     <td width="33">nro</td>
  48.     <td width="110">MES</td>
  49.     <td width="110">MES</td>
  50.     <td width="110">MES</td>
  51.     <td width="110">ACUMULADA</td>
  52.     <td width="110">PENDIENTE</td>
  53.   </tr>
  54.  <?php
  55.  for($x=0;$x<=$meses;$x++)
  56.  //$x equivale al índice de las filas
  57.  {
  58.     echo("<tr class='style2'>");
  59.     for($y=0;$y<=(count($tabla_resultados)-1);$y++)
  60.     //$y es usado como indice de columnas([0]-[5] cuando se almacenaron los datos)
  61.     {
  62.     echo("<td>");
  63.     echo($tabla_resultados[$y][$x]);
  64.     echo("</td>");
  65.     }
  66.     echo("</tr>");
  67.  }?>
  68.  <table>
  69. </body>
  70. </html>
  71.  
  72.  

Lo hice de esa forma porque considero mas difícil sacar los datos de una tabla.

Saludos!

gokufast

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: como poner los datos de esta tabla en arrays?
« Respuesta #3 en: Lunes 30 de Marzo de 2009, 16:15 »
0
super!!, gracias intentare de esa forma.
What Did One Snowman Say To The Other Snowman???

Do you smell carrots??