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ñ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($v, 2, '.', ' ')."' 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($v, 2, '.', ' ')."' 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.19, 2, '.', ' ')."</b> <b>IGV: S/.".number_format(($total+$preciopr)-($total/1.19), 2, '.', ' ')."</b> <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