Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/02/2011, 07:28
Shoyke
 
Fecha de Ingreso: octubre-2008
Mensajes: 17
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: foreach: varios problemas.

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
  1. <form action="javascript: calcular_total();" method="post" id="frm_per">
  2.  
  3. ....
  4. <input name="seleccion[]" type="checkbox"  value="<?=$rs_per['id']?>"/>
  5. <input type="submit" name="button" id="button" value="Pagar" />

Al apretar el boton ejecuta la funcion calcular_total():
Código Javascript:
Ver original
  1. function calcular_total(id){
  2.     var str = $("#frm_per").serialize();
  3.         $.ajax({
  4.             url: 'venta/vuelto.php',
  5.             data: str,
  6.             type: 'post',
  7.             success: function(data){
  8.                 if(data != ""){
  9.                         $("#div_oculto").load("venta/vuelto.php", {'seleccion[]': data}, function(){
  10.                             $.blockUI({
  11.                             message: $('#div_oculto'),
  12.                                 css:{
  13.                                     top: '20%'
  14.                                 }
  15.                             });
  16.                         });
  17.                 }
  18.             }
  19.         });
  20.  
  21. };

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;
    $&
#241;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>

Última edición por Shoyke; 11/02/2011 a las 07:46