El problema viene cuando debo eliminar estas lineas del Frame. Me explico.
En la página 'framelineas.php' recibo las variables via post de 'nuevafactura.php' en frame lineas creo una funcion eliminar_linea que recalcula los totales a mostrar en el documento parent(nuevafactura) y me redirecciona a borrarlinea.php que tras borrar la linea de la base de datos me retorna a framelineas.php con el codigo de factura via url. Así que me borra el registro de la base de datos y me recalcula los totales, pero solo puedo borrar una linea, no me recarga los parametros para eliminar una segunda linea si se diera el caso.
Esto tengo en framelineas
Código:
y en borrar<script> function eliminar_linea(codalbarantmp,numlinea,importe,lineaivaprimero,lineaivasegundo,lineaivatercero,lineareqprimero,lineareqsegundo,lineareqtercero,parcialivaprimero,parcialivasegundo,parcialivatercero,parcialreqprimero,parcialreqsegundo,parcialreqtercero) { if (confirm(" Desea eliminar esta linea ? ")) { var ivauno=parseFloat(parent.document.formulario_lineas.parcialivaprimero.value) - parseFloat(lineaivaprimero); parent.document.getElementById('parcialivaprimero').value=parseFloat(ivauno); var ivados=parseFloat(parent.document.formulario_lineas.parcialivasegundo.value) - parseFloat(lineaivasegundo); parent.document.getElementById('parcialivasegundo').value=parseFloat(ivados); var ivatres=parseFloat(parent.document.formulario_lineas.parcialivatercero.value) - parseFloat(lineaivatercero); parent.document.getElementById('parcialivatercero').value=parseFloat(ivatres); var requno=parseFloat(parent.document.formulario_lineas.parcialreqprimero.value) - parseFloat(lineareqprimero); parent.document.getElementById('parcialreqprimero').value=parseFloat(requno); var reqdos=parseFloat(parent.document.formulario_lineas.parcialreqsegundo.value) - parseFloat(lineareqsegundo); parent.document.getElementById('parcialreqsegundo').value=parseFloat(reqdos); var reqtres=parseFloat(parent.document.formulario_lineas.parcialreqtercero.value) - parseFloat(lineareqtercero); parent.document.getElementById('parcialreqtercero').value=parseFloat(reqtres); var resultado=parseFloat(ivauno + ivados); var resultado2=parseFloat(resultado + ivatres); var resultado6=Math.round(resultado2*100)/100 ; parent.document.getElementById("baseimpuestosiva").value=resultado2; var resultado3=parseFloat(requno + reqdos); var resultado4=parseFloat(resultado3 + reqtres); var resultado7=Math.round(resultado4*100)/100 ; parent.document.getElementById("baseimpuestosreq").value=resultado4; parent.document.formulario_lineas.baseimponible.value=parseFloat(parent.document.formulario_lineas.baseimponible.value) - parseFloat(importe); var original=parseFloat(parent.document.formulario_lineas.baseimponible.value); var result=Math.round(original*100)/100 ; parent.document.getElementById("baseimponible").value=result; var resul1=parseFloat(result + resultado2); var result3=parseFloat(resultado4 + resul1); var result4=Math.round(result3*1000)/1000 ; parent.document.getElementById("preciototal").value=parseFloat(result4); document.getElementById("frame_datos").src="eliminar_linea.php?codalbarantmp="+codalbarantmp+"&numlinea=" + numlinea; } else { parent.reload();}} </script> <script></script> <link href="../estilos/estilos.css" type="text/css" rel="stylesheet"> <?php include ("../conectar.php"); $codalbarantmp=$_POST["codalbarantmp"]; $retorno=0; if ($modif<>1) { if (!isset($codalbarantmp)) { $codalbarantmp=$_GET["codalbarantmp"]; $retorno=1; } if ($retorno==0) { $codfamilia=$_POST["codfamilia"]; $codarticulo=$_POST["codarticulo"]; $cantidad=$_POST["cantidad"]; $precio=$_POST["precio"]; $tipoiva=$_POST["tipoiva"]; $tiporeq=$_POST["tiporeq"]; $importe=$_POST["importe"]; $descuento=$_POST["descuento"]; $baseimpuestosiva=$_POST["baseimpuestosiva"]; $baseimpuestosreq=$_POST["baseimpuestosreq"]; $parcialivaprimero=$_POST["parcialivaprimero"]; $parcialreqprimero=$_POST["parcialreqprimero"]; $parcialivasegundo=$_POST["parcialivasegundo"]; $parcialreqsegundo=$_POST["parcialreqsegundo"]; $parcialivatercero=$_POST["parcialivatercero"]; $parcialreqtercero=$_POST["parcialreqtercero"]; $lineaivaprimero=$_POST["ivaprimero"]; $lineareqprimero=$_POST["reqprimero"]; $lineaivasegundo=$_POST["ivasegundo"]; $lineareqsegundo=$_POST["reqsegundo"]; $lineaivatercero=$_POST["ivatercero"]; $lineareqtercero=$_POST["reqtercero"]; $sel_insert="INSERT INTO albalineatmp (codalbaran,numlinea,codigo,codfamilia,cantidad,precio,tipoiva,tiporeq,importe,dcto,lineaivaprimero,lineareqprimero,lineaivasegundo,lineareqsegundo,lineaivatercero,lineareqtercero,baseimpuestosiva,baseimpuestosreq,parcialivaprimero,parcialreqprimero,parcialivasegundo,parcialreqsegundo,parcialivatercero,parcialreqtercero) VALUES ('$codalbarantmp','','$codarticulo','$codfamilia','$cantidad','$precio','$tipoiva','$tiporeq','$importe','$descuento','$lineaivaprimero','$lineareqprimero','$lineaivasegundo','$lineareqsegundo','$lineaivatercero','$lineareqtercero','$baseimpuestosiva','$baseimpuestosreq','$parcialivaprimero','$parcialreqprimero','$parcialivasegundo','$parcialreqsegundo','$parcialivatercero','$parcialreqtercero')"; $rs_insert=mysql_query($sel_insert); } } ?> <table class="fuente8" width="98%" cellspacing=0 cellpadding=3 border=0 ID="Table1"> <?php $sel_lineas="SELECT albalineatmp.*,articulos.*,familias.nombre as nombrefamilia FROM albalineatmp,articulos,familias WHERE albalineatmp.codalbaran='$codalbarantmp' AND albalineatmp.codigo=articulos.codarticulo AND albalineatmp.codfamilia=articulos.codfamilia AND articulos.codfamilia=familias.codfamilia ORDER BY albalineatmp.numlinea ASC"; $rs_lineas=mysql_query($sel_lineas); for ($i = 0; $i < mysql_num_rows($rs_lineas); $i++) { $numlinea=mysql_result($rs_lineas,$i,"numlinea"); $codfamilia=mysql_result($rs_lineas,$i,"codfamilia"); $nombrefamilia=mysql_result($rs_lineas,$i,"nombrefamilia"); $referencia=mysql_result($rs_lineas,$i,"referencia"); $codarticulo=mysql_result($rs_lineas,$i,"codarticulo"); $descripcion=mysql_result($rs_lineas,$i,"descripcion"); $cantidad=mysql_result($rs_lineas,$i,"cantidad"); $precio=mysql_result($rs_lineas,$i,"precio"); $tipoiva=mysql_result($rs_lineas,$i,"tipoiva"); $tiporeq=mysql_result($rs_lineas,$i,"tiporeq"); $importe=mysql_result($rs_lineas,$i,"importe"); $descuento=mysql_result($rs_lineas,$i,"dcto"); $lineaivaprimero==mysql_result($rs_lineas,$i,"lineaivaprimero"); $lineareqprimero==mysql_result($rs_lineas,$i,"lineareqprimero"); $lineaivasegundo==mysql_result($rs_lineas,$i,"lineaivasegundo"); $lineareqsegundo==mysql_result($rs_lineas,$i,"lineareqsegundo"); $lineaivatercero==mysql_result($rs_lineas,$i,"lineaivatercero"); $lineareqtercero==mysql_result($rs_lineas,$i,"lineareqtercero"); $parcialivaprimero==mysql_result($rs_lineas,$i,"parcialivaprimero"); $parcialreqprimero==mysql_result($rs_lineas,$i,"parcialreqprimero"); $parcialivasegundo==mysql_result($rs_lineas,$i,"parcialivasegundo"); $parcialreqsegundo==mysql_result($rs_lineas,$i,"parcialreqsegundo"); $parcialivatercero==mysql_result($rs_lineas,$i,"parcialivatercero"); $parcialreqtercero==mysql_result($rs_lineas,$i,"parcialreqtercero"); if ($i % 2) { $fondolinea="itemParTabla"; } else { $fondolinea="itemImparTabla"; } ?> <tr class="<? echo $fondolinea?>"> <td width="5%"></td> <td width="9%"><? echo $referencia?></td> <td width="26%"><? echo $descripcion?></td> <td width="11%" class="aCentro"><? echo $cantidad?></td> <td width="10%" class="aCentro"><? echo $precio?></td> <td width="5%" class="aCentro"><? echo $descuento?></td> <td width="8%" class="aCentro"><? echo $tipoiva?></td> <td width="8%" class="aCentro"><? echo $tiporeq?></td> <td width="12%" class="aCentro"><? echo $importe?></td> <td width="5%"><a href="javascript:eliminar_linea(<?php echo $codalbarantmp?>,<?php echo $numlinea?>,<?php echo $importe ?>,<?php echo$lineaivaprimero;?>,<?php echo$lineaivasegundo;?>,<?php echo$lineaivatercero;?>,<?php echo$lineareqprimero;?>,<?php echo$lineareqsegundo;?>,<?php echo$lineareqtercero;?>,<?php echo$parcialivaprimero;?>,<?php echo$parcialivasegundo;?>,<?php echo$parcialivatercero;?>,<?php echo$parcialreqprimero;?>,<?php echo$parcialreqsegundo;?>,<?php echo$parcialreqtercero;?>)"><img src="http://www.forosdelweb.com/f45/img/eliminar.png" border="0"></a></td> </tr> <? } ?> </table> <iframe id="frame_datos" name="frame_datos" width="0%" height="0" frameborder="0"> <ilayer width="0" height="0" id="frame_datos" name="frame_datos"></ilayer> </iframe>
Código:
$codalbaran=$_GET["codalbarantmp"]; $numlinea=$_GET["numlinea"]; $consulta = "DELETE FROM albalineatmp WHERE codalbaran ='".$codalbaran."' AND numlinea='".$numlinea."'"; $rs_consulta = mysql_query($consulta); echo "<script>parent.location.href='frame_lineas.php?codalbarantmp=".$codalbaran."';</script>";
soy novato así que seguramente habré cometido alguna que otra burradilla, por eso necesito ayuda.
Por cierto, la base desde la que parto para mi adaptacion es codeka 1.0 un programa de licencia libre que circula desde hace unos años por la red disponible en la página del autor.