Foros del Web » Programando para Internet » PHP »

PHP OO Problema check box y foreach en php

Estas en el tema de Problema check box y foreach en php en el foro de PHP en Foros del Web. Hola amigos estoy haciendo un formulario de recibos de pago y me he topado con un error que aun no entiendo, al seleccionar dos check ...
  #1 (permalink)  
Antiguo 21/03/2016, 12:46
 
Fecha de Ingreso: marzo-2016
Ubicación: Venezuela
Mensajes: 1
Antigüedad: 8 años, 1 mes
Puntos: 0
Problema check box y foreach en php

Hola amigos estoy haciendo un formulario de recibos de pago y me he topado con un error que aun no entiendo, al seleccionar dos check box seguidos me funciona perfecto, pero cuando selecciono ejemplo el primero y el ultimo no me suma estos sino que me suma el primero y el segundo, ahora si yo tomo todos si los suma perfecto. noc si el problema es mi array que ya le mostrare a continuacion.

Formulario
Explico este formulario, que hago es colocarle un check box y todas las variables que necesito array , asi cuando recorra el array id tomare solo las seleccionadas y cuando recorro el array solo toma las guardadas en la posicion $i asi no habra error sumando variables de mas

$i=1;
echo"<form action='pago2.php' method='POST' >";

do {

echo "<tr bgcolor='white'>";
echo "<td>".$row["NumeroD"]."</td>";
echo "<td>".$row["FechaE"]."</td>";
//Calculo de fecha
$fecha=$row["FechaE"];
$segundos=strtotime('now') - strtotime($fecha);
$diferencia_dias=intval($segundos/60/60/24);


echo "<td>".$diferencia_dias."</td>";
echo "<td>".$row["Document"]."</td>";
echo "<td align='right'>".$row["Saldo"]."</td>";
if($row["CheDev"]=="1"){
echo "<td align='right'>Si</td>";
}else{
echo "<td align='right'></td>";
}
echo "<input type='hidden'name='numerod[]'value='".$row["NumeroD"]."'> ";
echo "<td><input type='text' id='abono' name='saldo[]' value='".$row["Saldo"]."'></td>";
echo "<td bgcolor='#8AA9B8'><input type='checkbox' id='numerodoc' name='id[]' value='".$i."'></td>";
echo "</tr>";
echo $i;
$saldo+=$row["Saldo"];
$i=$i + 1;
} while ($row = mysql_fetch_array($result));

ACA recorro el array


<?php
session_start();
include("conexion.php");

$numerod=0;
$totalrecibo=0;
$nrecibo="";
$fecha="";

$saldo=$_POST["saldo"];
$facturas=$_POST["numerod"];
$facturaspagas="";
header('Content-type: text/html; charset=UTF-8');
mysql_set_charset('utf8');
unset($_SESSION["Nrorecibo"]);

if (!$_SESSION) {

echo '<script language = javascript>
alert("No ha iniciado ninguna sesion para acceder a esta area, por favor registrese")
self.location = ""
</script>';

}elseif ($_SESSION['autentificado']=='SI') {

if(isset($_POST["id"])){

$id=$_POST["id"];

foreach ($id as $indice=>$valor) {

$facturaspagas.="\n".$facturas[$indice]."=".$saldo[$indice]."\n";

$totalrecibo+=$saldo[$indice];

}
unset($valor);
}

}

Etiquetas: box, fecha, foreach, formulario, mysql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:01.