Foros del Web » Programando para Internet » PHP »

No actualiza

Estas en el tema de No actualiza en el foro de PHP en Foros del Web. Hola a todos, Estoy haciendo un carrito de la compra y cuando el usuario ve lo que ha comprado, tiene la posibilidad de cambiar la ...
  #1 (permalink)  
Antiguo 19/06/2008, 08:10
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 7 meses
Puntos: 1
No actualiza

Hola a todos,

Estoy haciendo un carrito de la compra y cuando el usuario ve lo que ha comprado, tiene la posibilidad de cambiar la cantidad, pero no me actualiza, solo me actualiza el último registro.

Aqui os dejo el codigo a ver si me podeis echar una mano.

Código PHP:
$sql = "Select Articulos.*, Carrito.* from Carrito, Articulos where Articulos.IdArticulo = Carrito.IdArticulo and IdCliente =".$_SESSION['IdCliente'];
                    $res = mysql_query($sql) or die ("Error al conectar");?>
                    
                    <form id="form1" name="form1" method="post" action="RealizarCompra.php">
                    
                        <? while ($fila mysql_fetch_array($res)) { ?>
                                        
                            <ul>
                                <? $preciotot = ($fila['Cantidad'] * $fila['Precio']) ?>

                                    <li class="frase"><a href="RealizarCompra.php?idCar=<? echo $fila['IdCarrito'?>&cant2=<? echo $fila['Cantidad']; ?>&idArti2=<? echo $fila['IdArticulo'?>"><img src="imagenes/delete.gif" alt="eliminar" /></a>
                                    
                                     <span class="producto"><? echo $fila['Nombre']; ?></span> <input name="cant" type="text" id="cant" size="1" value="<? echo $fila['Cantidad']; ?>"/><input type="hidden" name="idCarrito" id="idCarrito" value="<? echo $fila['IdCarrito'?>" /> 
                                     
                                     <input type="hidden" name="idArti" id="idArti" value="<? echo $fila['IdArticulo'?>" /><? echo $fila['Precio']; ?>€ <br />
                                
                                    
                            </ul>
Esta es la pagina donde muestro la compra y aqui donde lo actualizo.

Código PHP:
$sql4 "Update Carrito set Cantidad =" .$cant" where IdCarrito=" .$id;
$res4 mysql_query($sql4) or die ("Error al actualizar"); 
Gracias de antemano a todos
un saludo
  #2 (permalink)  
Antiguo 19/06/2008, 09:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No actualiza

Hola Phoenix23,

No veo en tu código como es que haces el llamado a actualizar la cantidad, ya que solo veo un formulario que apunta a RealizarCompra.php.

Si lo que quieres es actualizar debes de hacer un formulario por cada entrada, donde están tus <inputs> de cantidad y ahí enlazar a la pagina donde actualizas la cantidad.

Saludos.
  #3 (permalink)  
Antiguo 19/06/2008, 09:50
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: No actualiza

Hola,

Lo que quiero es que actualize toda la pagina por si quiere cambiar la cantidad de un producto o mas y cambie todos a la vez. Es posible?

Gracias de antemano y saludos
  #4 (permalink)  
Antiguo 19/06/2008, 11:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No actualiza

Hola Phoenix23,

Si es posible, pero en ese caso debes de nombrar tus items como arreglo usando por ejemplo:
Código PHP:
<input type="text" name="cantidad[<? echo $fila['IdArticulo'?>" value="<? echo $fila['Cantidad']; ?>" />
Luego recorres el arreglo en PHP:
Código PHP:
foreach( $_POST['cantidad'] as $idArticulo => $newQty ) {
      echo 
"$idArticulo => $newQty";

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:37.