Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/09/2009, 15:41
Avatar de zeuzft
zeuzft
 
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Exclamación Respuesta: como validar checkbox

si creo que no me explico bien; veamos; tengo un formulario de nueva proforma; a esa proforma yo le agrego equipos; donde pueden ir con el precio por separado o no; es decir; si el check esta activo el valor es igual a S; y aprece en forma separada; caso contrario el valor es igual a N; y todo aparecera en un solo bloque al momento de imprimir;
ahora cuando yo hago click en añadir producto - que es todo esto; como dije llama hace un envia query a myajax.php:
Código PHP:
<input name="anadir" type="button" class="boton" id="busprod" onClick="if(document.form11.tc==undefined){enviaQuery('divResultado','myajax.php?opcion=anadir_prodpr&producto='+document.form11.producto.value+'&prod_id='+document.form11.prod_id.value+'&cant='+document.form11.cantidad.value+'&precio='+document.form11.precio.value+'&descp='+document.form11.descp.value+'&tiposub='+document.form11.tiposub.value+'&muestra='+document.form11.muestra.value);} else { enviaQuery('divResultado','myajax.php?opcion=anadir_prodpr&producto='+document.form11.producto.value+'&prod_id='+document.form11.prod_id.value+'&cant='+document.form11.cantidad.value+'&precio='+document.form11.precio.value+'&tc='+document.form11.tc.value+'&descp='+document.form11.descp.value+'&tiposub='+document.form11.tiposub.value+'&muestra='+document.form11.muestra.value+'&prob='+document.form11.prob.value);} document.form11.producto.value='';document.form11.cantidad.value='1';document.form11.precio.value='0.00'; document.form11.totaldol1.focus();" value="A&ntilde;adir"  /> 
a la opcion anadir_prodpr:
Código PHP:
if($_GET['opcion']=="anadir_prodpr")
    {
    
$codigo=$_GET['prod_id'];
    
$nombre=$_GET['producto'];
    
$descripcion=$_GET['descp'];
    
$cant=$_GET['cant'];    
    
$tiposubtipo=$_GET['tiposub'];
    
$mostrar=$_GET['muestra'];
    
$precio=round($_GET['precio'],2);
    
$preciod=round($_GET['precio']/$_GET['tc'],2);
    
$subtotald=round(($cant*$preciod),2);    
    
$subtotal=round(($cant*$precio),2);        
    
$preciocompra=round($_GET['pc'],2);
    
$pob=$_GET['prob'];
    
$independiente='N';
    
$_SESSION['usuario']['carrito'][]=array('codigo'=>$codigo,'mostrar'=>$mostrar,'tiposubtipo'=>$tiposubtipo,'nombre'=>$nombre,'descripcion'=>$descripcion,'cantidad'=>$cant,'precio'=>$precio,'preciod'=>$preciod,'subtotal'=>$subtotal,'subtotald'=>$subtotald,'preciocompra'=>$preciocompra,'pob'=>$pob,'independiente'=>$independiente); 
        
mostrar_tablapr('');
        echo 
"<br />";
        
preciosproforma('');
    } 
como podras ver ahi le doy el valor a independiente por predeterminado como N; es decir que todo es un solo equipo; y de ahi me llama a la funcion mostrar tabla(''); que es esto:
Código PHP:
function mostrar_tablapr($tipo)
{
echo 
"<table width='100%' border='0' cellpadding='0' cellspacing='0'>
            <tr><th class='combo0pr'>Descripcion</th><th class='combo0pr'>Cant.</th><th class='combo0pr'>P. Unit.(S/.)</th><th class='combo0pr'>Subtotal(S/.)</th><th class='combo0pr'>Sep.</th></tr>"
;
    
$total=0;
    
$totald=0;
    for(
$i=0;$i<count($_SESSION['usuario']['carrito']);$i++) 
        { 
        foreach (
$_SESSION['usuario']['carrito'][$i] as $k => $v
            { 
            if(
$k=='codigo')
                echo
"<tr><input type='hidden' name='codigo$i' size='5' value='$v'></input>";
            if(
$k=='tiposubtipo')
                echo
"<input type='hidden' name='tiposubtipo$i' value='$v'></input>";
            if(
$k=='nombre')
                echo
"<input type='hidden' name='nombre$i' value='$v'></input>";
            if(
$k=='descripcion')
                echo
"<input type='hidden' name='descripcion$i' value='$v'></input>";
            if(
$k=='mostrar')
                echo
"<td><textarea name='mostrar$i' rows='2' cols='52' onClick=\"a=window.open('nuevo_productolipr.php?id='+codigo$i.value+'&accion=editar','buscaclie','resizable=yes, top='+parseInt(((screen.height) / 2)-200)+', width=850 ,height=430, left='+parseInt(((screen.width) / 2)-400)+', menubar=no, scrollbars=yes, status=no, titlebar=no, toolbar=no,directories=no');\">$v</textarea></td>";
            if(
$k=='cantidad')
                echo
"<td class='texto8pr'><input type='text' name='cant$i' value='$v' class='form1' size='5' onkeypress=\"javascript:var key=window.event.keyCode;if (key==13) document.form11.precio$i.focus();\" maxlength='5'></input></td>";
            if(
$k=='precio')            
                echo
"<td class='texto8pr'><input type='text' name='precio$i' class='form1' value='".number_format($v2'.'' ')."' class='form' size='6'></input></td>";
            if(
$k=='preciocompra'){
                
$preciocompra1+=$v;}
            if(
$k=='preciod'){
                
$preciod+=$v;}
            if(
$k=='subtotal')                
                {
                
$total+=$v;
                echo
"<td class='texto8pr'><input type='text' name='subtotal$i' class='form1' value='".number_format($v2'.'' ')."' class='form' size='8'></input></td>";}
            if(
$k=='independiente'){
                echo 
"
                <td class='texto8'><input type='checkbox' name='independiente$i' onClick=\"if (independiente.checked==true){($v=S);}else{($v=N);}\" value='$v'>independiente$i--$independiente--$v</input></td>
                <td><a href='javascript:;' onclick=\"enviaQuery('divResultado','myajax.php?opcion=borrar_itempr&i=$i&tc='+document.form11.tc.value)\"><img src='images/trash.gif' border='0'></a></td></tr>"
;}
            if(
$k=='subtotald')                
                {
                
$totald+=$v;
                }
            if(
$k=='pob')
                
$preciopr=$v;
            } 
        }
    echo
"<tr><td colspan='5' align='right' class='bordenaranja'><b>Total Sin IGV:  S/.".number_format(($total+$preciopr)/1.192'.'' ')."</b>&nbsp;&nbsp;&nbsp;<b>IGV:  S/.".number_format(($total+$preciopr)-($total/1.19), 2'.'' ')."</b>&nbsp;&nbsp;&nbsp;<b>Total:  S/.".number_format(($total+$preciopr), 2'.'' ')."</b></td></tr></table>";

y por ultimo viene la insercion:
Código PHP:
for($i=0;$i<count($_SESSION['usuario']['carrito']);$i++) 
    { 
        foreach (
$_SESSION['usuario']['carrito'][$i] as $k => $v
        { 
            if(
$k=='codigo')
                
$codigo=$v;
            if(
$k=='tiposubtipo')
                
$tiposubtipo=$v;
            if(
$k=='nombre')
                
$nombre=$v;
            if(
$k=='descripcion')
                
$descripcion=$v;
            if (
$k=='mostrar')
                
$mostrar=$v;
            if(
$k=='cantidad')
                
$cant=$v;
            if(
$k=='precio')
                
$precio=$v;
            if(
$k=='subtotal')                
                
$total+=$v;
            if(
$k=='preciod')            
                
$preciod+=$v;    
            if(
$k=='subtotald')
                
$totald+=$v;
            if(
$k=='pob')
                
$precioob=$v;
            if(
$k=='independiente')
                {
                if (
$independiente=='checked')
                    {
                    
$v='S';
                    
$independiente=$v;
                    }
                if (
$independiente!='checked')
                    {
                    
$v='N';
                    
$independiente=$v;
                    }
                }
        }

        
//insertar datos en detalle
        
$miconexion->consulta1("insert into detalle_proformaequipoproducto (dp_pr_id_FK,dp_prod_id_FK,dp_canti,dp_precio,dp_fecha,dp_independiente) values ('$id2','$codigo','$cant','$precio','$hoy','$independiente')");
        echo 
"ip---$independiente";
        
//fin insertar detalle
    

que seria todo eso; pero solo me toma el valor de N en ese caso

Última edición por zeuzft; 22/09/2009 a las 15:42 Razón: error en independiente de myajax.php no borre "