jonasanx, me podrias explicar esto:
Código PHP:
$_POST['seleccion'] = array(
'vuelta',
'',
'vuelta');
Yo tenia entendido que con el foreach recogia todos los valores de los ID que es lo que necesito.
Bueno, igual me sigue imprimiendo un valor vacio, y el formulario dos veces. :S
Puse la condicion IF, pero aun se me sigue imprimiendo el valor vacio.
El formulario sería mas o menos asi.
Código HTML:
Ver original<form action="javascript: calcular_total();" method="post" id="frm_per">
....
<input name="seleccion[]" type="checkbox" value="<?=$rs_per['id']?>"/>
<input type="submit" name="button" id="button" value="Pagar" />
Al apretar el boton ejecuta la funcion calcular_total():
Código Javascript
:
Ver originalfunction calcular_total(id){
var str = $("#frm_per").serialize();
$.ajax({
url: 'venta/vuelto.php',
data: str,
type: 'post',
success: function(data){
if(data != ""){
$("#div_oculto").load("venta/vuelto.php", {'seleccion[]': data}, function(){
$.blockUI({
message: $('#div_oculto'),
css:{
top: '20%'
}
});
});
}
}
});
};
Y el vuelto.php es el que anteriormente comentaba.
Se abre como ventana emergente.
Código PHP:
<?
include "../extras/php/conexion.php";
if(empty($_POST['seleccion'])){
echo "Usted no a seleccionado ningun pasajero para pagar su pasaje";
exit;
}
$o=1;
foreach ($_POST['seleccion'] as $id){
if(empty($id)) continue; // Con esta condicional le decimos al for que se salte este paso si el $id esta vació.
$o= $o+1;
echo "\n VUELTA N: ".$o." ID: ".$id;
$array[$o] = $id;
$ñaca = $array[$o];
$sql = "select id, total_pago from postulacion where id=$ñaca";
$dni = mysql_query($sql);
$resultfa = mysql_fetch_assoc($dni);
$tarifa = $resultfa['total_pago'];
$total= $total + $tarifa;
}
echo "TOTAL A PAGAR :".$total;
?>
<h1>Calculando el vuelto</h1>
<p>Ingrese el monto con el que paga (<em>ej. si el monto a pagar es $53.000 y paga con 6 billetes de $10.000, ingrese $60.000</em>)</p>
<p>APRIETE ENTER PARA CALCULAR VUELTO</p>
<form action="javascript: pagar();" method="post" id="frm_per">
<table class="formulario">
<tbody>
<input type="hidden" id="estado" name="estado" value="1" />
<!--<tr>
<td>Usuario</td>
<td><input name="usu_per" type="text" id="usu_per" size="16" class="required" /></td>
</tr>-->
<tr>
<td>Monto a Pagar</td>
<td><? echo '$'.$total ?>
<input type="hidden" name="sum_total" id="sum_total" value="<? echo -$total ?>" action="sumar(this);"/></td>
</tr>
<tr>
<td>Billete</td>
<td><input name="sum_billete" type="text" id="sum_billete" size="40" class="required" onkeydown='sumar(this);' onfocus="val(this,'','0');" onblur="val(this,'0','');"/>
</td>
</tr>
<tr>
<td>Vuelto</td>
<td><div name"suma" id="suma"></div> </td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2"><input name="pagar" type="submit" id="pagar" value="Pagar" onclick="javascript: pagar();" />
<input name="cancelar" type="button" id="cancelar" value="Cancelar" onclick="fn_cerrar();" />
</td>
</tr>
</tfoot>
</table>
<p></p>
</form>
<script language="javascript" type="text/javascript">
function sumar(c){
var total=0;
for(i=0;input=c.form.elements[i];i++){
if(/^sum_/.test(input.id)){
input.value=input.value.replace(/[A-z]/,'');
total+=parseInt(input.value);
$("#suma").text(total);
}
}
document.getElementById('res').value=isNaN(total)?document.getElementById('res').value:total;
}
function val(c,v,t){
c.value=c.value==t?v:c.value;
}
</script>