Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] MYSQL select articulos por cantidad

Estas en el tema de MYSQL select articulos por cantidad en el foro de PHP en Foros del Web. En MYSQL quiero hacer un SELECT que selecciones los productos y dependiendo la cantidad los duplique. Por ejemplo. Al seleccionar con SELECT prodcuto FROM productos ...
  #1 (permalink)  
Antiguo 08/08/2016, 11:29
 
Fecha de Ingreso: agosto-2016
Mensajes: 4
Antigüedad: 7 años, 8 meses
Puntos: 0
MYSQL select articulos por cantidad

En MYSQL quiero hacer un SELECT que selecciones los productos y dependiendo la cantidad los duplique. Por ejemplo.

Al seleccionar con SELECT prodcuto FROM productos de la siguiente DB:

PRODUCTO - CANTIDAD
COCHE - 5
MOTO - 1
BICI -1

Nos muestra el siguiente resultado:
COCHE
COCHE
COCHE
COCHE
COCHE
MOTO
BICI

¿alguna idea?
  #2 (permalink)  
Antiguo 08/08/2016, 11:32
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: MYSQL select articulos por cantidad

Puedes hacer un bucle for estableciendo sus ciclos por cantidad.
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 08/08/2016, 12:08
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: MYSQL select articulos por cantidad

Muestra tu query a la BD, y el código.
  #4 (permalink)  
Antiguo 08/08/2016, 12:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: MYSQL select articulos por cantidad

Cita:
Iniciado por parquerivas Ver Mensaje
En MYSQL quiero hacer un SELECT que selecciones los productos y dependiendo la cantidad los duplique. Por ejemplo.

Al seleccionar con SELECT prodcuto FROM productos de la siguiente DB:

PRODUCTO - CANTIDAD
COCHE - 5
MOTO - 1
BICI -1

Nos muestra el siguiente resultado:
COCHE
COCHE
COCHE
COCHE
COCHE
MOTO
BICI

¿alguna idea?
El SELECT debe ser poblado con el resultado de una consulta agrupada y ordenada por cantidad de items, y lo estás haciendo con una SIN agrupar...
Haz la query correcta, y el Select del formulario se caergará bien.

Código SQL:
Ver original
  1. SELECT prodcuto, COUNT(1) total FROM productos
  2. GROUP BY producto
  3. ORDER BY 2 DESC
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 09/08/2016, 10:04
 
Fecha de Ingreso: agosto-2016
Mensajes: 4
Antigüedad: 7 años, 8 meses
Puntos: 0
Respuesta: MYSQL select articulos por cantidad

$result=mysql_query("SELECT producto, COUNT(cantidad) total FROM productos GROUP BY producto");
$row=mysql_fetch_array($result);
do{

echo $row[producto].'<br>';

}while($row=mysql_fetch_array($result));

Me muestra:
COCHE
MOTO
BICI

Yo quiero que me muestre:
COCHE
COCHE
COCHE
COCHE
COCHE
MOTO
BICI

¿alguna nueva idea?

Última edición por parquerivas; 09/08/2016 a las 11:23
  #6 (permalink)  
Antiguo 09/08/2016, 11:37
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: MYSQL select articulos por cantidad

Ve este cambio:


Código PHP:
Ver original
  1. $result=mysql_query("SELECT producto, COUNT(cantidad) total FROM productos GROUP BY producto");
  2.  
  3. while($row = mysql_fetch_array($result)){
  4. echo $row["producto"].'<br>';
  5. }
  #7 (permalink)  
Antiguo 09/08/2016, 11:49
 
Fecha de Ingreso: agosto-2016
Mensajes: 4
Antigüedad: 7 años, 8 meses
Puntos: 0
Respuesta: MYSQL select articulos por cantidad

No me funciono :(

Me muestra:
COCHE
MOTO
BICI

Me tiene que repetir los productos por la cantidad de cada uno

Última edición por parquerivas; 09/08/2016 a las 12:36
  #8 (permalink)  
Antiguo 09/08/2016, 13:38
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: MYSQL select articulos por cantidad

Si no entiendo mal no necesitas hacer un count en tu consulta para saber cuantos coches, motos o bicis hay. Entiendo que esto ya lo tienes y lo que quieres es mostrar ese registro tantas veces como indique el valor cantidad.

Si es asi puedes utilizar un for como te indique en una respuesta anterior.

Código PHP:
$result=mysql_query("SELECT prodcuto,cantidad FROM productos");
     
while(
$row mysql_fetch_array($result)){
    for (
$i=1$i <= $cantidad $i++) {
        echo 
$row['producto'].' Nº '.$i.'<br/>';
    }


Deberias de intentar exponer mejor tu dudas para poder ayudarte de una forma adecuada.
__________________
Unset($vida['malRollo']);
  #9 (permalink)  
Antiguo 09/08/2016, 15:20
 
Fecha de Ingreso: agosto-2016
Mensajes: 4
Antigüedad: 7 años, 8 meses
Puntos: 0
Respuesta: MYSQL select articulos por cantidad

Gracias xerifandtomas!! esto es lo que buscaba.

Cita:
Iniciado por xerifandtomas Ver Mensaje
Si no entiendo mal no necesitas hacer un count en tu consulta para saber cuantos coches, motos o bicis hay. Entiendo que esto ya lo tienes y lo que quieres es mostrar ese registro tantas veces como indique el valor cantidad.

Si es asi puedes utilizar un for como te indique en una respuesta anterior.

Código PHP:
$result=mysql_query("SELECT prodcuto,cantidad FROM productos");
     
while(
$row mysql_fetch_array($result)){
    for (
$i=1$i <= $cantidad $i++) {
        echo 
$row['producto'].' Nº '.$i.'<br/>';
    }


Deberias de intentar exponer mejor tu dudas para poder ayudarte de una forma adecuada.

Etiquetas: mysql+consulta
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 02:38.