Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2015, 22:39
Avatar de NueveReinas
NueveReinas
 
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 3 meses
Puntos: 145
Pregunta "Imprimir" el valor de cada SELECT

Hola gente

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
  1. <a href='lista.php?id=" . $infoproducto['id'] . "&action=add'>+ Añadir a la lista de pedidos</a>

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
  1. if(isset($_SESSION['carro'])){
  2.    
  3.     $totalcoste = 0; //Coste total
  4.     $xTotal = 0; //Inicializamos el contador de productos seleccionados
  5.    
  6.     echo "<table width='80%'>
  7.     <thead>
  8.     <tr class='infoActual'>
  9.     <th>Artículo</th>
  10.     <th>Cantidad</th>
  11.     <th>Acción</th>
  12.     <th>Precio c/u</th>
  13.     <th>Sub-total</th>
  14.     </thead>
  15.     </tr>";
  16.    
  17.     echo "<tbody>
  18.     <tr><td colspan=5><hr></td></tr>";
  19.    
  20.     foreach($_SESSION['carro'] as $id => $x){
  21.         ///////////////////////////////////////////////////////// CONSULTA A LA BBDD
  22.         $resultado = mysqli_query($conexion, "SELECT * FROM articulos WHERE id='$id'");
  23.         $mifila = mysqli_fetch_array($resultado);
  24.        
  25.         $id = $mifila['id'];
  26.         $marca = $mifila['marca'];
  27.         $numeroarticulo = $mifila['numeroarticulo'];
  28.         $precio = $mifila['precio'];
  29.         ///////////////////////////////////////////////////////// CONSULTA A LA BBDD
  30.        
  31.         //Coste por artículo según la cantidad elegida
  32.         $coste = $precio * $x;
  33.         //Coste total del carro
  34.         $totalcoste = $totalcoste + $coste;
  35.         //Contador del total de productos añadidos al carro
  36.         $xTotal = $xTotal + $x;
  37.        
  38.         echo "<tr class='cuadros'>
  39.         <td data-label='Artículo'><strong>".$marca."</strong> - Art. ".$numeroarticulo." - Color ".$color." - Talla ".$talla."</td>
  40.         <td data-label='Cantidad'>$x</td>
  41.         <td data-label='Acción'>
  42.             <p>
  43.             <a href='lista.php?id=". $id ."&action=add'>Aumentar</a><br>
  44.             <a href='lista.php?id=". $id ."&action=remove'>Reducir</a><br>
  45.             <a href='lista.php?id=". $id ."&action=removeProd'>Eliminar</a><br>
  46.             </p>
  47.         </td>
  48.         <td data-label='Precio C/U'>".$precio."$
  49.         <td data-label='Sub-total'>".$coste."$";
  50.        
  51.             }
  52.         echo "<tr><td colspan='5'><hr></td></tr>
  53.         <tr>";
  54.             if ($xTotal === 1) { //Si es igual 1, es singular, sino, es plural
  55.                 $cantidadArt = "artículo";
  56.             } else {
  57.                 $cantidadArt = "artículos";
  58.             };
  59.         echo "</tr>
  60.         </td>
  61.         </tbody>
  62.         </table>
  63.        
  64.         <div align='center'><p><strong>Total: ".$totalcoste."$</strong> en ".$xTotal." ".$cantidadArt."</p></div>
  65.         ";
  66.        
  67.         if ($xTotal === 0) { //Si no hay artículs, muestra un mensaje, y si los hay, da la opción de finalizar la compra
  68.             $botonFinalizar = "<p>No hay artículos</p>";
  69.         } else {
  70.             $botonFinalizar = "<div align='center'><a href='finalizar.php'>FINALIZAR</a></div>";
  71.         };
  72.        
  73.         echo $botonFinalizar;
  74.         }
  75.        
  76.         else { //Si no está seteada la sesión "carro", redirecciona al index
  77.             header("Location: index.php");die();
  78.         };

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
  1. echo '<select name="talla" id="talla">';
  2. $tallas = explode(" - ", $infoproducto['talla']);
  3. foreach($tallas as $key => $value){
  4. echo '<option value="'.$value .'">'. $value .'</option> ';
  5. };
  6. echo '</select>';
  7.  
  8. echo '<select name="color" id="color">';
  9. $colores = explode(" - ", $infoproducto['color']);
  10. foreach($colores as $key => $value){
  11. echo '<option value="'.$value .'">'. $value .'</option> ';
  12. };
  13. 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
__________________
¿Te sirvió la respuesta? Deja un +1