Foros del Web » Programando para Internet » PHP »

El foreach no me funciona bien algo estoy haciendo mal

Estas en el tema de El foreach no me funciona bien algo estoy haciendo mal en el foro de PHP en Foros del Web. Hola quiero que me muestre los datos que le estoy pasando es para un carrito de la compra. El foreach me funciona pero lo que ...
  #1 (permalink)  
Antiguo 08/03/2012, 13:12
 
Fecha de Ingreso: diciembre-2011
Mensajes: 3
Antigüedad: 12 años, 4 meses
Puntos: 0
El foreach no me funciona bien algo estoy haciendo mal

Hola quiero que me muestre los datos que le estoy pasando es para un carrito de la compra.
El foreach me funciona pero lo que quiero es que los datos me lo ponga donde yo quiero aver si me podeis ayudar gracias.
Esto es lo que me hace el foreach.


Código PHP:
<fieldset>
    <legend align="center">Carrito</legend>
    <table width="720" border="0" cellspacing="0" cellpadding="0" align="center">
        <tr>
            <td>Codigo</td>
            <td>Nombre del Articulo</td>
            <td>Cantidad</td>
            <td>Precio</td>
        </tr>
        <?php
        
foreach ($carrito as $clave => $valor ){?>
        <tr>
        <td><?php echo $valor;?></td>
        <td><?php echo $valor;?></td>
        <td><input type="number" name="cantidad" value="<?php echo $valor;?>"/></td>
        <td><?php echo $valor;?>€</td>
        </tr>
        
        <?php ?>
    </table>
</fieldset>
Mi codigo PHP para que me muestre el carrito tambien he probado $valor['producto'], pero no me funciona.


Código PHP:
if(!isset($cantidad)){$cantidad 1;}
//consultar la base de datos
$sql mysql_query("SELECT * FROM catalogo WHERE codigo=".$codigo."");
$row mysql_fetch_array($sql);
//Si ya hemos introducido algún producto en el carrito lo tendremos guardado temporalmente
//en el array superglobal $_SESSION['mg_storeonline'], de manera que rescatamos los valores de dicho array
//y se los asignamos a la variable $carrito, previa comprobación con isset de que $_SESSION['mg_storeonline'] ya haya sido definida
if(isset($_SESSION['mg_storeonline']))
$carrito $_SESSION['mg_storeonline'];
//introducir los items
$carrito = array('codigo'=>$codigo,'cantidad'=>$cantidad,'producto'=>$row['producto'],'precio'=>$row['precio']);
//guardarlos en la variable
$_SESSION['mg_storeonline']=$carrito
Este es con lo que introduzco los datos en la session.

Código PHP:
<a href='agregar-compra.php?".SID."&codigo=".$row['1']."'>Agregar al Carrito</a
y aqui es como le paso al agregar carrito el codigo.

Gracias y espero vuestras respuestas.
  #2 (permalink)  
Antiguo 08/03/2012, 13:19
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: El foreach no me funciona bien algo estoy haciendo mal

Quizás mejor:

$carrito[] = array('codigo'=>$codigo,'cantidad'=>$cantidad,'pro ducto'=>$row['producto'],'precio'=>$row['precio']);
En el foreach debes señalar qué ítem del array quieres pintar: sólo con $valor no lo entiende, pero si pones $valor['cantidad'] pintará la cantidad.
__________________
A. Uttranadhie
  #3 (permalink)  
Antiguo 09/03/2012, 10:02
 
Fecha de Ingreso: diciembre-2011
Mensajes: 3
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: El foreach no me funciona bien algo estoy haciendo mal

Gracias por responder si me funciona ahora yo ya habia probado asi $valor['producto'], pero no me funcionaba porque en el de agregar_producto me faltaba esto lo marcado en rojo $carrito[ ] = array('codigo'=>$codigo..etc, y por eso luego cuando ponia $valor['producto'] no cogía el valor.

Muchas Gracias.

Etiquetas: foreach, haciendo, mysql, sql, variables
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 06:35.