Estoy teniendo un quebradero de cabeza para resolver lo siguiente...
Siguiendo este tutorial, he conseguido mostrar los resultados de la BD y que cada uno tenga su propio enlace para añadir un artículo al carrito.
De manera gráfica, esto es lo que tengo:
El botón me lleva a otro archivo junto 2 parámetros GET, los cuales son
id
y add
.
Código HTML:
Ver original
En el archivo
lista.php
obtengo los datos del artículo desde el id
de la URL haciendo una consulta a la base de datos y los muestro con un foreach
en una tabla. De esta manera:
Código PHP:
Ver original
$totalcoste = 0; //Coste total $xTotal = 0; //Inicializamos el contador de productos seleccionados echo "<table width='80%'> <thead> <tr class='infoActual'> <th>Artículo</th> <th>Cantidad</th> <th>Acción</th> <th>Precio c/u</th> <th>Sub-total</th> </thead> </tr>"; echo "<tbody> <tr><td colspan=5><hr></td></tr>"; foreach($_SESSION['carro'] as $id => $x){ ///////////////////////////////////////////////////////// CONSULTA A LA BBDD $id = $mifila['id']; $marca = $mifila['marca']; $numeroarticulo = $mifila['numeroarticulo']; $precio = $mifila['precio']; ///////////////////////////////////////////////////////// CONSULTA A LA BBDD //Coste por artículo según la cantidad elegida $coste = $precio * $x; //Coste total del carro $totalcoste = $totalcoste + $coste; //Contador del total de productos añadidos al carro $xTotal = $xTotal + $x; echo "<tr class='cuadros'> <td data-label='Artículo'><strong>".$marca."</strong> - Art. ".$numeroarticulo." - Color ".$color." - Talla ".$talla."</td> <td data-label='Cantidad'>$x</td> <td data-label='Acción'> <p> <a href='lista.php?id=". $id ."&action=add'>Aumentar</a><br> <a href='lista.php?id=". $id ."&action=remove'>Reducir</a><br> <a href='lista.php?id=". $id ."&action=removeProd'>Eliminar</a><br> </p> </td> <td data-label='Precio C/U'>".$precio."$ <td data-label='Sub-total'>".$coste."$"; } echo "<tr><td colspan='5'><hr></td></tr> <tr>"; if ($xTotal === 1) { //Si es igual 1, es singular, sino, es plural $cantidadArt = "artículo"; } else { $cantidadArt = "artículos"; }; echo "</tr> </td> </tbody> </table> <div align='center'><p><strong>Total: ".$totalcoste."$</strong> en ".$xTotal." ".$cantidadArt."</p></div> "; if ($xTotal === 0) { //Si no hay artículs, muestra un mensaje, y si los hay, da la opción de finalizar la compra $botonFinalizar = "<p>No hay artículos</p>"; } else { $botonFinalizar = "<div align='center'><a href='finalizar.php'>FINALIZAR</a></div>"; }; echo $botonFinalizar; } else { //Si no está seteada la sesión "carro", redirecciona al index };
Representación gráfica del código de arriba:
Como se puede ver en primera imagen, tengo dos SELECT en HTML, uno de tallas y otro de colores. Obtengo los datos desde un array creado con
explode
a partir de los datos de mi BBDD.
Código PHP:
Ver original
echo '<select name="talla" id="talla">'; foreach($tallas as $key => $value){ echo '<option value="'.$value .'">'. $value .'</option> '; }; echo '</select>'; echo '<select name="color" id="color">'; foreach($colores as $key => $value){ echo '<option value="'.$value .'">'. $value .'</option> '; }; echo '</select><br>';
Lo que necesitaría es pasar los datos del SELECT a
lista.php
, pero no se cómo.¿De qué manera puedo enviar los valores de cada SELECT a
lista.php
si ya tiene unos datos de GET?Lo intenté haciendo un POST y un GET, pero no se "imprimen" los valores en el artículo de la lista. Me estoy desesperando
jrasias d ante braso