Comunidad de diseño web y desarrollo en internet online

Cargar precio, generar subtotal

Citar            
MensajeEscrito el 10 Jul 2008 07:45 pm
Buenas!! quiero hacerles una consulta, yo tengo un carrito de compras en donde el precio del producto lo cargo manualmente, y de la base de datos me trae la cantidad, como hago para que se me vaya poniendo en un nuevo textbox el calculo (cantidadxprecio).
Lo use con una funcion de javascript, pero solo me cambia el primero, y no todos los registros de la base de datos...

Les dejo parte del codigo....help!!!!

<script language="javascript">
function resultado(){
var v1 = parseInt(document.calculo.canti.value);
var v2 = parseInt(document.calculo.preciopar.value);
var result;
result = v1 * v2;
if(document.calculo.canti.value!='' && document.calculo.preciopar.value!=''){
document.calculo.subtotal.value=result;
document.calculo.enviar.focus();
}else{
document.calculo.subtotal.value='';
}

}
</script>
.
.
.
<form method="post" action="" name="calculo">
<?
$qry=mysql_query("SELECT * FROM cantidadcotizacionnc where idcantcotizacionnc='$idcotiza'");
while($row=mysql_fetch_assoc($qry)){
.
.
.
.
?>

<input name="canti" id="canti" type="text" value="<? echo $cantidad;?>" size="8" maxlength="8" />
$ <input name="preciopar" id="preciopar" type="text" size="5" maxlength="8" onchange="resultado();" /> // este es el valor que voy a ingresar manualmente por cada producto

$ <input name="subtotal" type="text" id="subtotal" size="8" maxlength="8"/> // aca quiero que me haga la multiplicacion automaticamente
</form>
<? } ?>

Por nataliasoria

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Jul 2008 08:23 pm
yo... no entendí...
:(

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 10 Jul 2008 08:42 pm
lo explico de manera mas grafica...

en la pagina 1 tengo un carrito de cotizacion, voy eligiendo distintos productos...
luego en otra pagina, me trae todos esos productos que fueron guardados en la base de datos, y ahi tengo que cotizarlos, es decir ponerle un precio a cada uno de ellos (no los tengo guardados en la base de datos, sino que lo ingreso manualmente), entonces voy llenando un formulario en donde tengo una lista por ejemplo:

hago un while de la base de de datos y me trae:

producto 1 cantidad: 5 precio:(eso le carga el navegante) subtotal : (resultado generado cantidad x precio).
producto 2 cantidad: 15 precio:(eso le carga el navegante) subtotal : (resultado generado cantidad x precio).
producto 6 cantidad: 7 precio:(eso le carga el navegante) subtotal : (resultado generado cantidad x precio).
etc....

si los datos fueran estaticos se como hacerlo, el tema es que no logro hacerlo con los resultados traidos de la base de datos..

se entiende??

GRACIASSSSS!

Por nataliasoria

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jul 2008 01:34 am
Lo siento... estoy muy tonto...
(¿pienso en imágenes... no podrías poner un screenshoot y escribir encima?)
Es que algo puedo imaginar... pero me cuesta creer que sea eso lo que quieres...

¿Que es el visitante el que marca los precios :??

En cualquier caso, si tienes que hacer una multiplicación, la cuestión es si quieres hacerla desde el lado del servidor, o del cliente, es decir...
- Puedes hacerla desde PHP, para lo que el visitante marcará el precio, y dará a un "submit". El PHP hará el cálculo, y lo devolverá después.
- O bien, hacerlo desde cliente: el visitante pone el precio, y un javascript se encarga de hacer el cálculo sin más historias...

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 11 Jul 2008 01:51 am


Gracias por la respuestaaaa!!!!!

Por nataliasoria

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jul 2008 02:13 am
Se puede hacer fácilmente mediante JavaScript.
(me pregunto qué finalidad tiene que sea el visitante el que pone el precio... ¿se de venta, quizá?)

Se haría:
<script>
function resultado(i,precio)
{document.getElementById('subtotal'+i).value=precio*parseFloat(document.getElementById('canti'+i).value);}
</script>
<input type="text" id="canti_1" value="<? echo $cantidad_1;?>" />
$ <input type="text" value="" onchange="resultado(1,this.value);" />
$ <input type="text" id="subtotal_1" value="" />

<input type="text" id="canti_1" value="<? echo $cantidad_2;?>" />
$ <input type="text" value="" onchange="resultado(1,this.value);" />
$ <input type="text" id="subtotal_1" value="" />
[...]
Lo único que tendrás que hacer, es que un iterador te vaya poniendo "_1", "_2", .... para que los campos tengan ID única.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 11 Jul 2008 03:11 pm
como pondría el nombre dinamicamente en el textbox para que me tome todos los registros de la base de datos??

<input type="text" id="canti<? echo $i?>" value="<? echo $cantidad$i;?>" />

Con estos parametros me da error y no puedo hacerlo funcionar....

Gracias.

Por nataliasoria

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jul 2008 03:58 pm
Pues... en el mismo bucle que usas para poner todos los elementos seleccionados.
$i=1;
while($row=mysql_fetch_assoc($qry))
{
//código que repite el bucle, y llamando al iterador mediante "$i"
$i++;
}
Más... es dártelo todo hecho y mascado...
;)

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.