Foros del Web » Programando para Internet » PHP »

Carrito de compra problema con form !!!

Estas en el tema de Carrito de compra problema con form !!! en el foro de PHP en Foros del Web. Hola, tengo una tienda online, la cual debo colocar un< select > en la pagina detalle del producto, que despues recogo con un $POST de ...
  #1 (permalink)  
Antiguo 25/12/2008, 17:10
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Carrito de compra problema con form !!!

Hola, tengo una tienda online, la cual debo colocar un< select > en la pagina detalle del producto, que despues recogo con un $POST de la pagina "micarrito" , los productos seleccionados se colocan perfectamente, es decir, cada producto que seleccione el usuario en ua fila direrente y suma perfectamente si selecciona varios productos, pero el problema es que cuando paso el $POST del <select> lo que hace es colocarme esa informacion en cada fila del carrito, no lo hace solo en el producto seleccionado, no se porque ocurre eso. alguna sugerencia ???? os dejo algo del codigo por si sirve de ayuda ( en el codigo que esta en negrita, es lo que se me repite en todos los productos seleccionados por el usuario en el carrito, es decir, si el usuarios compra:
Bota Nike talla 42
Bota Addidas talla 39,
en el carrito le sale :
Bota Nike talla 39
Bota Addidas talla 39,
AL SELECCIONAR EL SEGUNDO PRODUCTO, SALE LA TALLA DEL ULTIMO PRODUCTO EN TODOS LOS PRODUCTOS:
este es el <select> de la pagina detalle:
<select name="select">
<option value="seleccionar talla bota disponible">seleccionar talla bota disponible</option>
<option value="S ( entre 37,5 - 40 )">S ( entre 37,5 - 40 )</option>


<option value="L ( entre 42,5 - 44 )">L ( entre 42,5 - 44 )</option>
<option value="XL ( entre 42,5 - + )">XL ( entre 42,5 - + )</option>

</select>

codigo del carrito:

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="2%" align="left" valign="top" bgcolor="#CC0000"><strong><img src="imagenes/sup-izq.gif" width="11" height="11" /></strong></td>
<td width="44%" align="left" valign="top" bgcolor="#CC0000"><div align="center"><strong>Nombre del producto </strong></div></td>
<td width="12%" align="right" bgcolor="#CC0000"><strong>precio</strong></td>
<td width="16%" align="center" bgcolor="#CC0000"><strong>cantidad</strong></td>
<td width="12%" align="right" bgcolor="#CC0000"><strong>total</strong></td>
<td width="14%" align="right" valign="top" bgcolor="#CC0000"><img src="imagenes/sup-der.gif" width="11" height="11" /></td>
</tr>
<?php
if(isset($_SESSION['carrito'])){
$total=0;
for($i=0;$i<=count($carrito_mio)-1;$i ++){
if($carrito_mio[$i]!=NULL){
?>

<tr>
<td colspan="2" valign="top" bgcolor="#E6EAED"><?php print $carrito_mio[$i]['lugar']; ?> <?php
if($_POST['select'])
{
echo "<strong>Talla bota :</strong> ".$_POST['select'];
}
else
{
echo "<strong>Talla única.</strong>";
}
?>
</td>
<td align="right" valign="top" bgcolor="#E6EAED"><?php print $carrito_mio[$i]['precio']; ?></td>
<td align="center" valign="top" bgcolor="#E6EAED">
<form id="form1" name="form1" method="post" action="">
<input name="id" type="hidden" id="id" value="<?php print $i; ?>" />
<input name="cantidad2" type="text" id="cantidad2" value="<?php print $carrito_mio[$i]['cantidad']; ?>" size="2" />
<input name="imageField" type="image" src="imagenes/actualizar.gif" alt="actualizar cantida" />
</form> </td>
<td align="right" valign="top" bgcolor="#E6EAED"><?php print $carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad']; ?></td>
<td align="right" valign="top" bgcolor="#E6EAED"><form id="form2" name="form2" method="post" action="">
<input name="id2" type="hidden" id="id2" value="<?php print $i; ?>" />
<input name="imageField2" type="image" src="imagenes/papelera.gif" alt="borrar" />
</form> </td>
</tr>
<tr>
<td colspan="6" valign="top" bgcolor="#E6EAED"><hr /></td>
</tr>

<?php
$total=$total + ($carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad']);
}
}
}
?>
<tr>
<td colspan="2">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td align="right">&nbsp;</td>
<td align="right">&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
<td>&nbsp;</td>
<td>Subtotal<strong> :</strong></td>
<td align="right"><?php
if(isset($_SESSION['carrito'])){
print $total;
}
?></td>
<td align="right">
<div align="right">Euros &quot;&euro;&quot; </div></td></tr>
<tr>
<td colspan="2">&nbsp;</td>
<td>&nbsp;</td>
<td>+ (16% IVA )</td>
<td align="right"><?php
if(isset($_SESSION['carrito'])){
$por=$total*16;
$div=$por/100;
$totaliva=$div;
print $totaliva;
}
?></td>
<td align="right">Euros &quot;&euro;&quot;</td>
</tr>
<tr>
<td height="19" colspan="2">&nbsp;</td>
<td><strong>TOTAL =</strong></td>
<td colspan="2"><div align="right">
<?php
if(isset($_SESSION['carrito'])){
$iva=$total*1.16;
print " <span style=\"font-size:20pt;font-weight:bold;\">". $iva. "</span>";
}
?>

</div></td>
<td align="left"><div align="right">Euros &quot;&euro;&quot;</div></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
<td>&nbsp;</td>
<td colspan="3"><form id="form3" name="form3" method="post" action="supedido.php">
<input type="submit" name="Submit" value="Comprovar pedido" />
</form> </td>
</tr>
</table>

Última edición por jonysi_d; 25/12/2008 a las 17:16
  #2 (permalink)  
Antiguo 25/12/2008, 17:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: Carrito de compra problema con form !!!

he modificado el codigo $POST por esto, pero no me funciona , no se por donde solcionarlo:
<?php print $carrito_mio[$i]['select']; ?> asi quiero que me ponga el array del select
  #3 (permalink)  
Antiguo 25/12/2008, 21:29
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: Carrito de compra problema con form !!!

utiliza javascript y coloca el evento onChange

document.miform.action = "subpedido.php";
document.miform.submit();

suerte.
  #4 (permalink)  
Antiguo 26/12/2008, 16:35
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: Carrito de compra problema con form !!!

perdona pero no tengo mucha idea de javascript, podrias decirme que hace este codigo o donde debo colocarlo ?? este codigo que que me has ofrecido para ayudarme ????

document.miform.action = "subpedido.php";
document.miform.submit()

y el subpedido.php ???

Gracias por la ayuda
  #5 (permalink)  
Antiguo 27/12/2008, 11:00
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: Carrito de compra problema con form !!!

lo k te deje ese codigo de javascript hace refernecia al formulario que colcaste en tu carrito, es decir, en el nombre de formulario como tu kieres k cambie los precios seleccionanado cualquier producto (asi lo entendi).

Disculpame k no te pueda ayudarte de tu codigo.

saludos.
  #6 (permalink)  
Antiguo 27/12/2008, 15:07
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: Carrito de compra problema con form !!!

gracias por tu ayuda de todas formas, se agradece... seguro que alguien podra ayudarme....
Gracias
  #7 (permalink)  
Antiguo 27/12/2008, 22:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Carrito de compra problema con form !!!

Cita:
Iniciado por jonysi_d Ver Mensaje
[...] el problema es que cuando paso el $POST del <select> lo que hace es colocarme esa informacion en cada fila del carrito, no lo hace solo en el producto seleccionado, no se porque ocurre eso

[code][...]<?php
if(isset($_SESSION['carrito'])){
$total=0;
for($i=0;$i<=count($carrito_mio)-1;$i ++){
if($carrito_mio[$i]!=NULL){
?>

<tr>
<td colspan="2" valign="top" bgcolor="#E6EAED"><?php print $carrito_mio[$i]['lugar']; ?> <?php
if($_POST['select'] && (/* SOLO_EL_ELEMENTO_SELECCIONADO */))
{
echo "<strong>Talla bota :</strong> ".$_POST['select'];
}
else
{
echo "<strong>Talla única.</strong>";
}
?>
</td>
[...]
bueno, eso se debe a que tu lo programaste así... no crees??

fijate bien, como estas haciendolo... usas un ciclo, y dentro de ese ciclo condicionas... al POST que tu dices...

pero esta pasando que, no condicionas.... que tan solo ocurra sobre el elemento seleccionado... ¿¿entiendes eso???


y esa es la razón, ¡¡¡de que te repita lo mismo con cada elemento!!!


__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 05:28.