Foros del Web » Programando para Internet » PHP »

no tengo ni idea de como hacer esto, quien me ayuda?

Estas en el tema de no tengo ni idea de como hacer esto, quien me ayuda? en el foro de PHP en Foros del Web. hola, quiero saber como hacer esto: tengo una tabla en la base datos llamada tabla en la tabla estan los campos producto-cantidad-fecha entonces se insertan ...
  #1 (permalink)  
Antiguo 17/08/2009, 16:55
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 174
Antigüedad: 14 años, 9 meses
Puntos: 3
no tengo ni idea de como hacer esto, quien me ayuda?

hola, quiero saber como hacer esto:

tengo una tabla en la base datos llamada tabla

en la tabla estan los campos producto-cantidad-fecha
entonces se insertan los valores y queda, por ejemplo

a-1
b-2
a-2
c-4
c-18
etc....
yo lo que quiero hacer es buscar los 7 productos con mas cantidad en los ultimos 7 dias

osea que se me ocurrio buscar en la base de datos los que sean de los ultimos 7 dias ordenandolos por producto

entonces me queda

a-1
a-2
b-2
b-3
c-5
c-3
etc...
pero de ahi no se como seguir, ahora lo que quiero hacer es agrupar los resultados por producto y sumar la cantidad, y saber cual es el que mas cantidad tiene... como puedo hacer?
  #2 (permalink)  
Antiguo 17/08/2009, 18:14
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Respuesta: no tengo ni idea de como hacer esto, quien me ayuda?

Mira SUM() y GROUP BY

Puede ser así (no estoy seguro):

SELECT SUM(cant) as total FROM productos GROUP BY id_producto
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #3 (permalink)  
Antiguo 17/08/2009, 19:43
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 174
Antigüedad: 14 años, 9 meses
Puntos: 3
GRACIAS HGP147!!

me quedo asi:

date_default_timezone_set('America/Buenos_Aires');
$date = date( "Y-m-d h:i:s" );
$fecha = date( "Y-m-d h:i:s", strtotime( "-7 day", strtotime( $date ) ));

$sql7=mysql_query("SELECT producto,SUM(cantidad)AS cantidad_total FROM tablas WHERE fecha>='$fecha' GROUP BY producto ORDER by cantidad_total DESC LIMIT 0,7");


while($a7=mysql_fetch_assoc($sql7)){
echo "producto: $a7[producto], cantidad: $a7[cantidad_total]";
}
mysql_free_result($sql7);


y asi muestra los productos y sus cantidades de los ultimos 7 dias, y solo muestra los 7 mas grande

el limit no funiona, que puedo hacer para que muestre solo 7? porque asi solo lee las ultimas 7 cantidades

pense en esto pero no se donde meterlo

for ( $i=0; $i<=7; $i ++) {
}

Última edición por GatorV; 17/08/2009 a las 20:15
  #4 (permalink)  
Antiguo 17/08/2009, 20:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: no tengo ni idea de como hacer esto, quien me ayuda?

Prueba tu query así:
Código SQL:
Ver original
  1. SELECT producto,SUM(cantidad)AS cantidad_total FROM tablas WHERE fecha>='$fecha' GROUP BY producto ORDER BY cantidad_total DESC LIMIT 7

Saludos.
  #5 (permalink)  
Antiguo 17/08/2009, 20:19
(Desactivado)
 
Fecha de Ingreso: julio-2009
Mensajes: 174
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: no tengo ni idea de como hacer esto, quien me ayuda?

si funciono, gracias, yo habia puesto un contador
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 23:46.