Foros del Web » Programando para Internet » PHP »

"Imprimir" el valor de cada SELECT

Estas en el tema de "Imprimir" el valor de cada SELECT en el foro de PHP en Foros del Web. Hola gente Estoy teniendo un quebradero de cabeza para resolver lo siguiente... Siguiendo este tutorial , he conseguido mostrar los resultados de la BD y ...
  #1 (permalink)  
Antiguo 04/08/2015, 22:39
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 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
  #2 (permalink)  
Antiguo 05/08/2015, 01:00
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: "Imprimir" el valor de cada SELECT

Cita:
Iniciado por NueveReinas Ver Mensaje


Pues haciendo que esto sea un formulario en lugar de un link, y así puedes pasar los datos de los selects
  #3 (permalink)  
Antiguo 05/08/2015, 08:10
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: "Imprimir" el valor de cada SELECT

Cita:
Iniciado por cluster28 Ver Mensaje
Pues haciendo que esto sea un formulario en lugar de un link, y así puedes pasar los datos de los selects
Lo intenté, pero es que no se quedan los datos, porque cada vez que hago un submit del formulario cambian los datos.
__________________
¿Te sirvió la respuesta? Deja un +1
  #4 (permalink)  
Antiguo 05/08/2015, 09:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: "Imprimir" el valor de cada SELECT

Cita:
Iniciado por NueveReinas Ver Mensaje
Lo intenté, pero es que no se quedan los datos, porque cada vez que hago un submit del formulario cambian los datos.
Por eso debes generar correctamente el formulario, si no te funciona entonces algo harás mal.

¿Exactamente qué estás haciendo al generar dicho formulario?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: cada, html, mysql, select, sql, tabla, valor
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:34.