| |||
sumar hola estoy haciendo un formulario de una factura la idea es que cuando ponga valor unitario, cantidad, me saque un total es decir multiplicar valor unitario por cantidad, pero no tengo ni idea de como se pueda hacer eso con php agradezco su ayuda
__________________ paty :adios: |
| |||
Re: sumar Hola miltza.Te pongo un ejemplo para recoger las variables (en este caso via POST),hacer la multiplicación de los 2 valores y posteriormente imprimir el resultado: Cita: Las variables $_POST han de tener el nombre del campo del formulario.<?php $cantidad=$_POST['cantidad']; $valor=$_POST['valor']; $total=$cantidad*$valor; echo $total; ?> Un saludo |
| |||
Re: sumar oye una pregunta de esta forma si ingreso el valor unitario y luego la cantidad inmediatamente despues de ingresar estos dos valores en la tercera casilla me muestra el total??
__________________ paty :adios: |
| |||
Re: sumar No entiendo lo que quieres decir, enseña tu código donde está el formulario y el del php que lo procesa y te podre ser de mas ayuda. El ejemplo que te he puesto lo que hace es al ser enviado recoger 2 valores del formulario(cantidad,valor),los multiplica y imprime el resultado por pantalla. Un saludo |
| |||
Re: sumar lo tuya me funciono perfectmente eso es lo que necesito mi pregunta es si no hay forma que cuando tu ingreses el valor y la cantidad haga esa operacion del total en esa misma pagina no cuando se envien los datos sino hay mismo ya q en el formulario hay un campo para escribir el valor total en letras ysi lo hago que mecalcule enviando el formulario ya no podria ingresar el valor en letras
__________________ paty :adios: |
| |||
Re: sumar lo puedes hacer de esta manera hay te envio un codigo, lo que tu quieres no se puede hacer con php tienes que meterle algo de javascript. prueba este codigo el secreto esta en lo que va de color es muy facil espero que te sirva <html> <head> <title>detalles de venta</title> <script type="text/javascript"> function sumar(frm) { cv = frm.Cantidad_Vendida.value; vu = frm.Valor_Unitario.value; if (cv=='' || isNaN(cv)) cv = 0; if (vu=='' || isNaN(vu))vu = 0; frm.Valor_Total.value =parseFloat(cv) * parseFloat(vu); } </script> charset=iso-8859-1"></head> <body background="MAIN.JPG"> <div id="Layer1" style="position:absolute; left:284px; top:76px; width:427px; height:141px; z-index:1"> <form name="formulario" method="post" action="<?php echo $PHP_SELF?>"> <table width="98%" height="117" border="0"> <tr> <td width="51%"><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Numero De Factura </font></strong></td> <td width="49%"><input type="text" name="Num_Factura"></td> </tr> <tr> <td><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Codigo De Producto</font></strong></td> <td><input type="text" name="Cod_Producto"></td> </tr> <tr> <td><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Cantidad Vendida</font></strong></td> <td><input type="text" name="Cantidad_Vendida" onkeyup = "sumar(this.form)" /></td> </tr> <tr> <td><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Valor Unitario</font></strong></td> <td><input type="text" name="Valor_Unitario" onkeyup = "sumar(this.form)" /></td> </tr> <tr> <td><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Valor Total</font></strong></td> <td><input type="text" name="Valor_Total" readonly="readonly"></td> </tr> </table> <div id="Layer2" style="position:absolute; left:31px; top:145px; width:433px; height:29px; z-index:2"> <table width="94%" border="0"> <tr> <td width="43%"><input name="Submit" type="submit" value="Registrar" onclick="this.form.action='proceso_form_detalles_f actura_venta.php'" /></td> <td width="57%"><input type="submit" name="Submit2" value="Generar Factura" onclick="this.form.action='generar_factura.php'" /></td> </tr> </table> </div> <p> </p> </form> </div> <div id="Layer3" style="position:absolute; left:298px; top:39px; width:365px; height:16px; z-index:3"> <div align="center"><font color="#990000" size="3" face="Arial, Helvetica, sans-serif"><strong>Detalles De Venta</strong></font></div> </div> </body> </html> |
| |||
Re: sumar oye ya hice lo que me dijiste perfeco pero ahora cuando envio los datos a la base de datos no me esta cogiendo esos datos aqui esta mi codigo Código HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Factura::Imprimir</title> <script type="text/javascript"> function sumar(frm) { cv = frm.cantidad.value; vu = frm.valoru.value; iv = frm.iva.value; vt = frm.total.value; if (cv=='' || isNaN(cv)) cv = 0; if (vu=='' || isNaN(vu))vu = 0; if (iv=='' || isNaN(iv))iv = 0; if (vt=='' || isNaN(vt))vt = 0; frm.total.value =parseFloat(cv) * parseFloat(vu); frm.subtotal.value=frm.total.value; frm.iva.value =parseFloat(frm.total.value) * 0.16; frm.valortotal.value =parseFloat(frm.iva.value) + parseFloat(frm.subtotal.value); } </script> <head> <body> <form action="imprimefactura.php" method="post" > <div id="descripcion"> <table width="100%" height="204" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000"> <tr> <td width="49%" height="33"><div align="center"><span class="Estilo12">DESCRIPCION</span></div></td> <td width="18%"><div align="center"><span class="Estilo12">VALOR UNITARIO </span></div></td> <td width="16%"><div align="center" class="Estilo12">CANTIDAD</div></td> <td width="17%"><div align="center" class="Estilo12">TOTAL</div></td> </tr> <tr> <td height="98"><textarea name="descripcion" cols="40" rows="5"></textarea></td> <td height="98"><div align="center"> <input name="valoru" type="text" id="valoru" size="15" onkeypress= "return acceptNum(event)" onkeyup = "sumar(this.form)"/> </div></td> <td height="98"><div align="center"> <input name="cantidad" type="text" id="cantidad" size="15" onkeypress= "return acceptNum(event)" onkeyup = "sumar(this.form)"/> </div></td> <td height="98"><div align="center"> <input name="total" type="text" id="total" size="15" disabled="disabled" /> </div></td> </tr> <tr> <td colspan="2" rowspan="3" valign="top"><span class="Estilo12">VALOR EN LETRAS </span><br /> <br /> <input name="letras" type="text" id="letras" size="80" /> </td> <td height="24"><div align="center" class="Estilo12">SUBTOTAL</div></td> <td height="24"><div align="center"> <input name="subtotal" type="text" id="subtotal" size="15" disabled="disabled"/> </div></td> </tr> <tr> <td height="24"><div align="center" class="Estilo12">IVA</div></td> <td height="24"><div align="center"> <input name="iva" type="text" id="iva" size="15" disabled="disabled" onkeyup = "sumar(this.form)"/> </div></td> </tr> <tr> <td height="23"><div align="center"><span class="Estilo12">VALOR TOTAL </span></div></td> <td height="23"><div align="center"> <input name="valortotal" type="text" id="valortotal" size="15" disabled="disabled" onkeyup = "sumar(this.form)"/> </div></td> </tr> </table> </div> <table width="927" height="611" border="0" align="left"> <tr> <td width="917" height="607"> </td> </tr> </table> <div id="Layer3"> <div align="center"><span class="Estilo8"> <input name="enviar" type="button" id="enviar" onclick="validar(this.form)" value="Enviar"/> <input name="borrar" type="reset" id="borrar" value="Borrar"/> </span></div> </div> </form> </body> $valoru=$_POST["valoru"]; $cantidad=$_POST["cantidad"]; $total=$_POST["total"]; $subtotal=$_POST["subtotal"]; $iva=$_POST["iva"]; $valortotal=$_POST["valortotal"];
__________________ paty :adios: Última edición por niltza; 25/02/2008 a las 18:09 |
| |||
Re: sumar tienes el input enviar mal definido <input name="enviar" type="button" id="enviar" onclick="validar(this.form)" value="Enviar"/> tiene que ir de esta manera <input name="Submit" type="submit" value="enviar" onclick="this.form.action='proceso_para_registrar_ en_base.php'" /> donde proceso_para_registrar_en_base.php esta el insert para registrar en base de datos y tienes que quitar el action de la etiqueta <form action> porque el boton ya lo esta haciendo con el .action. si tienes alguna duda me avisas |
| |||
Re: sumar me podrias por fa regalar tu correopara enviarte lo queyo tengo, y en cuanto al boton enviar esta bien porque tengo una funcion de validacion en javascript y son los mismos botones que utilizoo en todos los formularios pero pues si me regalas tu correo te envio todo el codigo
__________________ paty :adios: |
| |||
Re: sumar mira ya lo he probado con el boton enviar es decirsubmit y tampoco lo tengo asi porqtengo una funcion javascript q me verifica datos obligatorios y q cuando los datos obligaorios esten llenos entonces envie. la persona q por fa me quiera colaborar me podria dar su correo para que se mas facil asi envio todo el script para q puedan verq es lo que tengo mil gracias
__________________ paty :adios: |
| ||||
Re: sumar Segun veo intentas insertar los datos que recoges del formulario en tu BD entonces antes del insert haces la validaciones pertinentes. me explico lo que haces con JavaScript pues lo haces en tu script imprimefactura.php por ejemplo pones esto en imprimefactura Código PHP: Saludos. |
| |||
Re: sumar ok voy a intentarlo pero mi problema es el otro el delos calculos no me lleva los datos ni con submit porque ya probe
__________________ paty :adios: Última edición por niltza; 26/02/2008 a las 13:25 |
| |||
Re: sumar |
| |||
Re: sumar De todas maneras aqui te envio un codigo completo que yo tengo donde esta todo lo que tu quieres validar y las operaciones guiate bien hay va Código HTML: <html> <head> <title>detalles de venta</title> <script type="text/javascript"> function sumar(frm) { cv = frm.Cantidad_Vendida.value; vu = frm.Valor_Unitario.value; if (cv=='' || isNaN(cv)) cv = 0; if (vu=='' || isNaN(vu))vu = 0; frm.Valor_Total.value =parseFloat(cv) * parseFloat(vu); } </script> <script> function valida(formulario){ er=/^[0-9]+$/; if(er.test(formulario.Num_Factura.value)==false){ alert("El campo numero factura es obligatorio y de tipo numerico"); return false; // NO se enviará el formulario. } er=/^[0-9a-zA-Z ñÑáéíóúÁÉÍÓÚuüÜÇç]+$/; if(er.test(formulario.Cod_Producto.value)==false){ alert("El campo codigo producto obligatorio y de tipo alfanumerico"); return false; // NO se enviará el formulario. } er=/^[0-9]+$/; if(er.test(formulario.Cantidad_Vendida.value)==false){ alert("El campo cantidad vendida es obligatorio"); return false; // NO se enviará el formulario. } er=/^[0-9]+$/; if(er.test(formulario.Valor_Unitario.value)==false){ alert("El campo valor unitario es obligatorio y numerico"); return false; // NO se enviará el formulario. } er=/^[0-9]+$/; if(er.test(formulario.Valor_Total.value)==false){ alert("el campo total se calcula por defecto"); return false; // NO se enviará el formulario. } return true; // Se enviará el formulario. } </script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head> <body background="MAIN.JPG"> <div id="Layer1" style="position:absolute; left:284px; top:76px; width:427px; height:141px; z-index:1"> <form [COLOR="DarkOrange"]onSubmit="return valida(formulario)" [/COLOR]name="formulario" method="post" action="<?php echo $PHP_SELF?>"> <table width="98%" height="117" border="0"> <tr> <td width="51%"><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Numero De Factura </font></strong></td> <td width="49%"><input type="text" name="Num_Factura"></td> </tr> <tr> <td><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Codigo De Producto</font></strong></td> <td><input type="text" name="Cod_Producto"></td> </tr> <tr> <td><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Cantidad Vendida</font></strong></td> <td><input type="text" name="Cantidad_Vendida" onkeyup = "sumar(this.form)" /></td> </tr> <tr> <td><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Valor Unitario</font></strong></td> <td><input type="text" name="Valor_Unitario" onkeyup = "sumar(this.form)" /></td> </tr> <tr> <td><strong><font color="#990000" size="3" face="Arial, Helvetica, sans-serif">Valor Total</font></strong></td> <td><input type="text" name="Valor_Total" readonly="readonly"></td> </tr> </table> <div id="Layer2" style="position:absolute; left:31px; top:145px; width:433px; height:29px; z-index:2"> <table width="94%" border="0"> <tr> <td width="43%"><input name="Submit" type="submit" value="Registrar" onclick="this.form.action='proceso_form_detalles_factura_venta.php'" /></td> <td width="57%"><input type="submit" name="Submit2" value="Generar Factura" onclick="this.form.action='generar_factura.php'" /></td> </tr> </table> </div> <p> </p> </form> </div> <div id="Layer3" style="position:absolute; left:298px; top:39px; width:365px; height:16px; z-index:3"> <div align="center"><font color="#990000" size="3" face="Arial, Helvetica, sans-serif"><strong>Detalles De Venta</strong></font></div> </div> </body> </html> saludos |
| |||
Re: sumar Mira tu codigo me sirvio para insertar pero cambiandole el button por submit y insert de esta forma, claro con todos los campos de tu base de datos con este yo probe y me funciono bien. Código PHP: espero que te ayude... |
| |||
Re: sumar hola ya probe como tu dices pero solo me inserta cantidad y valorunitario los calculos q estoy haciendo para total, subtotal iva y valor total no me los procesa ni me los inserta
__________________ paty :adios: Última edición por niltza; 27/02/2008 a las 12:48 |
| |||
Re: sumar hola niltza mira yo te dije que le colocaras readonly porque el disable esta inactivando la cja de texto. Código HTML: <input name="valortotal" type="text" id="valortotal" size="15" readonly="readonly" onkeyup = "sumar(this.form)"/> asi ya funciona a la perfeccion que estas bien anexo Código PHP: |
| |||
Re: sumar hola pues buenas noticias ya se paso pues q yo tenia deshabilitados esos campos para q no escribieran y por eso no me llevaba los datos completos pero igual muchisimas gracias a todos los q me ayudaron
__________________ paty :adios: |