Guardar datos en BD

Hola nuevamente... Aquí de nuevo... Después de tanto molestar con el código de las cuotas, necesito saber como almacenar el resultado generado a una tabla de la BD.
El código es el siguiente:
<table width="50%" border="0" cellpadding=3>
<tbody>
<tr>
<td align="center" bgcolor="#CCCCCC">Numero Cuota
</tr>
<td align="center" bgcolor="#CCCCCC">Capital
</tr>
<td align="center" bgcolor="#CCCCCC">Valor Cuota
</tr>
<td align="center" bgcolor="#CCCCCC">Interes
</tr>
<td align="center" bgcolor="#CCCCCC">Capital Pagado
</tr>
<td align="center" bgcolor="#CCCCCC">Valor Residual
</tr>
<?php
for ($i=1;$i<=$txtcuotas;$i++)
{
$intcuota=$txtcredito*$txttasa/100;
$cappagado=$txtvalcuota-$intcuota;
$valresi=$txtcredito-$cappagado;
echo "
<tr>
<td align=left> $i</td>
";
echo "
<td align=left>$txtcredito</td>
";
echo "
<td align=left>$txtvalcuota</td>
";
echo "
<td align=left>".number_format($intcuota,0)."</td>
";
echo "
<td align=middle>".number_format($cappagado,0)."</td>
";
echo "
<td align=middle>".number_format($valresi,0)."</td>
</tr>
";
}
?>
la BD se llama SISTEMA y la tabla se llama Convenio y los campos son:
NCUOTA ->NUMERO DE CUOTA ($i)
CAPINI ->CAPITAL ($txtcredito)
VALCUOT ->VALOR CUOTA ($txtvalcuota)
INTERES ->INTERES O TASA ($intcuota)
CAPPAG -> CAPITAL PAGADO ($cappagado)
SALDO -> VALOR RESIDUAL ($valresi)
Espero puedas ayudarme... Gracias..

1 Respuesta

Respuesta
1
Usa la funcion mysql_query asi:
$resul = mysql_query("INSERT INTO convenio (NCUOTA, CAPINI,VALCUOT,INTERES, CAPPAG, SALDO)  VALUES ( $ncuota , $capini , $valcuot, $interes , $cappag , $saldo) "
);
Donde coloco ese código, dentro del for... o fuera... o no se.. ya que al hacerlo me guarda 1 solo registro (la primera cuota)... y necesito todas las cuotas guardadas...
Podrías colocarlo dentro del for, para cada registro procesado, se inserta el valor en la tabla.
Te mando el código que deje, elimine todos los echo que mostraban en pantalla el valor de mis variables de formulario.
<?php
$i=addslashes($ncuota);
$fecha=addslashes($fvenc);
$txtcredito=addslashes($capital);
$txtvalcuota=intval($valcuota);
$intcuota=doubleval($interes);
$cappagado=intval($cpagado);
$valresi=intval($valresi);
@ $db=mysql_pconnect("localhost","root","rasy");
if (!$db) //si no se encuentra db
 {
  echo "Error en conexion a la BD";
  exit;
 } // de lo cotrario
//mysql_select_db="cuotas";
mysql_select_db("cuotas", $db);
$i=0;
ini_set('display_errors' , 1 );
error_reporting(E_ALL);
function sumaDia($fecha,$dia,$cont)
{
list($day,$mon,$year) = explode('/',$fecha);
    if ( $mon == 2 )
    {
    }
    return date('d/m/Y',mktime(0,0,0,$mon + $cont ,0,$year));
}
for ($i=1;$i<=$txtcuotas;$i++)
{
$fecha=sumaDia($txtvencim,30, $i);
//echo "
<td align=left>".$txtvencim."</td>
";
//echo "
<td align=left>".$fecha."</td>
";
//$txtvencim=sumaDia($txtvencim,30);
//echo "
<td align=left>".date("$nuevafecha")."</td>
";
//echo "
<td align=left>".number_format($txtcredito,0)."</td>
";
//echo "
<td align=left>".number_format($txtvalcuota,0)."</td>
";
$intcuota=$txtcredito*$txttasa/100;
//echo "
<td align=left>".number_format($intcuota,0)."</td>
";
$cappagado=$txtvalcuota-$intcuota;
//echo "
<td align=middle>".number_format($cappagado,0)."</td>
";
$valresi=$txtcredito-$cappagado;
//echo "
<td align=middle>".number_format($valresi,0)."</td>
</tr>
";
$txtcredito=$valresi;
$consulta="INSERT INTO datos VALUES('".$i."','".$txtcredito."','".$txtvalcuota."','".$intcuota."','".$cappagado."','".$valresi."')";
$resultado = mysql_query($consulta);
if (!$resultado) { die('Invalid query: ' . mysql_error());}
}
?>
Al momento de ejecutar me aparece el siguiente mensaje: Invalid query: Column count doesn't match value count at row 1. Tengo un campo llamado id q es de autoincremento y q no menciono en el codigo, pero no se si esto tiene q ver.
Espero puedas ayudarme... Gracias una vez más...
Ese error es de mysql e indica que o estas escribiendo un campo de más o te falta un campo en la lista de VALUES, revisa eso y me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas