120.000 y en el subtotal solo me aparece 120
les dejo el codigo para ver si me pueden ayudar
Código HTML:
<?php //session_start(); original if(isset($_GET['id'])) { $_SESSION['carrito'][$_GET['id']]=$_GET['id']; } require 'conexion.php'; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Documento sin título</title> </head> <script> function requerir(){ try{ req=new XMLHttpRequest(); }catch(err1){ try{ req=new ActiveXObject("Microsoft.XMLHTTP"); }catch(err2){ try{ req=new ActiveXObject("Msxml2.XMLHTTP"); }catch(err3){ req= false; } } } return req; } function cantidad(id) { //c1 //alert(id.substr(1)); var peti=requerir(); var url="proceso.php"; var valor=document.getElementById(id).value; if(valor<1 || valor=="") valor=1; var vari="valor="+valor+"&id="+id.substr(1); //alert(vari); peti.open("POST",url,true); peti.onreadystatechange = function(){ if(peti.readyState==4) { if(peti.status==200) { //alert(peti.responseText); //location.reload(); document.getElementById('s'+id.substr(1)).value=peti.responseText; total(); }else{ alert("Error --- "+peti.statusText); } } }; peti.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); peti.send(vari); } function total() { var id = document.getElementById('tabla'); var val = id.getElementsByTagName("input"); var total=0; for(var i=0;i<val.length;++i) { if(i%2==1 ){ total+=parseFloat(val[i].value); } } document.getElementById('total').value=Math.round(total*100)/100; } function solonumero(e) { tecla = (document.all) ? e.keyCode : e.which; // alert(tecla); if (tecla==8){ return true;} //Tecla de retroceso (para poder borrar) //if (tecla==44) return true; //Coma ( En este caso para diferenciar los decimales ) else if (tecla==48) {return true} else if (tecla==49) {return true} else if (tecla==50) {return true} else if (tecla==51) {return true} else if (tecla==52) {return true} else if (tecla==53) {return true} else if (tecla==54) {return true} else if (tecla==55) {return true} else if (tecla==56) {return true} else if (tecla==57) {return true} else if (tecla==46) {return true}//punto else{alert('Solo puede ingresar numeros en esta casilla');} patron = /1/; //ver nota te = String.fromCharCode(tecla); return patron.test(te); } </script> <body> <p> </p> <table width="521" border="1" id="tabla"> <tr> <td width="58" height="24" align="center" bgcolor="#999999">#n</td> <td width="172" align="center" bgcolor="#999999">producto</td> <td width="115" align="center" bgcolor="#999999">precio unit.</td> <td width="71" align="center" bgcolor="#999999">Subtotal</td> <td width="71" align="center" bgcolor="#999999"> </td> </tr> <?php $cad=""; foreach($_SESSION['carrito'] as $k) { $cad.=' or id='.$k; } $sql="select * from tb_producto where id=-1 ".$cad; //echo $sql; conectar(); $re=mysql_query($sql)or die (mysql_error()); desconectar(); $total=0; $item=""; $cant=0; $i=1; while($f=mysql_fetch_array($re)){ ?> <tr> <td><input name="c<?php echo $f['id'];?>" type="text" id="c<?php echo $f['id'];?>" value="<?php if(isset($_SESSION['cantidad'][$f['id']])){ $total+=$_SESSION['cantidad'][$f['id']]*$f['precio']; echo $_SESSION['cantidad'][$f['id']]; $cant=$_SESSION['cantidad'][$f['id']]; }else{ $total+=$f['precio']; echo 1; $cant=1; } ?>" size="3" onkeyup="cantidad(this.id)" onKeyPress="return solonumero(event)"></td> <td><?php echo $f['nombre'];?></td> <td><?php echo $f['precio'];?></td> <td align="center"><input name="s<?php echo $f['id'];?>" type="text" id="s<?php echo $f['id'];?>" value="<?php if(isset($_SESSION['cantidad'][$f['id']])){ echo $_SESSION['cantidad'][$f['id']]*$f['precio']; }else{ echo $f['precio']; } ?>" size="7" readonly></td> <td align="center"><a href="eliminar.php?id=<?php echo $f['id'];?>">Eliminar</a></td> </tr> <?php $item.='<input type="hidden" name="item_name_'.$i.'" value="'.$f['nombre'].'"> <input type="hidden" name="amount_'.$i.'" value="'.$f['precio'].'"> <input type="hidden" name="currency_code_'.$i.'" value="USD"> <input type="hidden" name="quantity_'.$i.'" value="'.$cant.'"> '; $i++; } ?> </table> <p> total <input name="total" type="text" id="total" value="<?php echo $total;?>" readonly> </p> <p><div id="boton" > <!-- cuando lo usen con una cuenta real de paypal cambiar https://www.sandbox.paypal.com/cgi-bin/webscr por https://www.paypal.com/cgi-bin/webscr --> <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank"> <input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="upload" value="1"> <input type="hidden" name="business" value="poner aqui tu correo de prueba o real"> <?php echo $item;?> <!-- <input type="hidden" name="item_name_1" value="carrito"> <input type="hidden" name="amount_1" value="1.00"> si hubiuera precio de flete <input type="hidden" name="shipping_1" value="1.75"> <input type="hidden" name="item_name_2" value="Item Name 2"> <input type="hidden" name="amount_2" value="2.00"> --> <input type="image" src="https://www.paypalobjects.com/es_ES/ES/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal. La forma rápida y segura de pagar en Internet."> </form> </div></p> <p><a href="producto.php">seguir comprando </a></p> </body> </html>
Código PHP:
<?php
session_start();
require 'conexion.php';
$id=$_POST['id'];
conectar();
$re=mysql_query("select precio from tb_producto where id=".$id)or die(mysql_error());
desconectar();
$precio=mysql_result($re,0);
$valor=$_POST['valor'];
$_SESSION['cantidad'][$id]=$valor;
echo $valor * $precio;
?>