Foros del Web » Programando para Internet » PHP »

una lista con los 10 mas vendidos, ¿como?

Estas en el tema de una lista con los 10 mas vendidos, ¿como? en el foro de PHP en Foros del Web. Hola que tal , tengo un carrito de compra y me gustaria colocarle al sitio una lista con los 10 mas vendidos, no se me ...
  #1 (permalink)  
Antiguo 26/04/2006, 10:33
Avatar de Watas  
Fecha de Ingreso: diciembre-2005
Ubicación: Caracas
Mensajes: 151
Antigüedad: 12 años
Puntos: 0
una lista con los 10 mas vendidos, ¿como?

Hola que tal , tengo un carrito de compra y me gustaria colocarle al sitio una lista con los 10 mas vendidos, no se me ocurre como hacerlo alguien me podria ayudar con esto.

Gracias de antemano y saludos
  #2 (permalink)  
Antiguo 26/04/2006, 10:35
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
¿Trabajas con bases de datos? Si es así, ¿cúal?
  #3 (permalink)  
Antiguo 26/04/2006, 10:36
Avatar de Watas  
Fecha de Ingreso: diciembre-2005
Ubicación: Caracas
Mensajes: 151
Antigüedad: 12 años
Puntos: 0
si, mysql, tengo una tabla inventario que es en dnd se encuentran alamacenado los productos
  #4 (permalink)  
Antiguo 26/04/2006, 10:51
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Bien. Me imagino que tendrás otra tabla dónde guardes las ventas. Entonces, deberías hacer una consulta contando cuantas ventas tiene cada producto y ordenarlo por numero de ventas.
  #5 (permalink)  
Antiguo 26/04/2006, 11:00
Avatar de Watas  
Fecha de Ingreso: diciembre-2005
Ubicación: Caracas
Mensajes: 151
Antigüedad: 12 años
Puntos: 0
esto ultimo no lo tengo pero se podria hacer, es decir no tengo la tabla dnd almaceno las ventas. si me podrias indicar como hago para almacenar las ventas?

las ventas las hago via deposito bancario, el usuario hace el pedido a la pagina y luego que haya depositado el dinero, el usuario me debe confirmar, una vez hecho eso, yo le envio el producto.
  #6 (permalink)  
Antiguo 26/04/2006, 11:06
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
Entonces... ¿No memorizas el número de pedidos por cada producto?
  #7 (permalink)  
Antiguo 26/04/2006, 11:10
Avatar de Watas  
Fecha de Ingreso: diciembre-2005
Ubicación: Caracas
Mensajes: 151
Antigüedad: 12 años
Puntos: 0
el numero de pedido se le envia al usuario y a mi via email, pero no se guarda en ninguna tabla, todo queda guardado en emails
  #8 (permalink)  
Antiguo 26/04/2006, 11:10
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Pues primero deberías definir la tabla de ventas con, por ejemplo, los siguientes campos: identificador, id_producto (producto asociado a la venta), fecha_venta, etc...
Piénsatelo bien porque el diseño es un paso importante a la hora de programar.

Luego, cuando el usuario te confirme que ha depositado el dinero entras en tu backoffice y actualizas la base de datos (update ventas set ...)
  #9 (permalink)  
Antiguo 26/04/2006, 11:16
Avatar de Watas  
Fecha de Ingreso: diciembre-2005
Ubicación: Caracas
Mensajes: 151
Antigüedad: 12 años
Puntos: 0
y despues de eso como haria los 10 mas vendidos???, con una consulta que filtre esas ventas?
  #10 (permalink)  
Antiguo 26/04/2006, 11:22
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
O en la misma tabla de productos una nueva columna llamada "num_ventas" o como quieras llamarle. Sería el número de veces que se ha vendido (o solicitado) ese producto.

Y cada vez que lo compren (o soliciten) actualizas:

Código PHP:
<?
//Haces un select para coger el numero actual.... SELECT * FROM productos blabla
$numero $fila['num_ventas'];

//Le sumas uno
$veces_vendido $numero 1;

//Lo actualizas
mysql_query("UPDATE productos SET num_ventas='$veces_vendido' where id='$id'");
?>
Al mostrar odenado por nº de ventas:

Código PHP:
<?
//Incluyes la configuracion y entonces.....

$consulta "SELECT * from productos order by num_ventas DESC limit 10";
$resultado =  mysql_db_query ($nombre_base_de_datos$consulta$conexion);
while (
$fila mysql_fetch_array ($resultado)) {

//Aqui lo que se mostrara por cada resultado (cada uno de los 10)
}
?>

Última edición por david_M_G; 26/04/2006 a las 11:27
  #11 (permalink)  
Antiguo 26/04/2006, 11:22
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Para hacer la consulta de numero de ventas (con dos tablas), se me ocurre algo así:
Código:
select count(*) as nVentas from ventas, productos where ventas.id_producto = productos.id group by ventas.id_producto order by nVentas desc
Lo mismo hay que retocarla un poco.
  #12 (permalink)  
Antiguo 26/04/2006, 11:27
Avatar de Watas  
Fecha de Ingreso: diciembre-2005
Ubicación: Caracas
Mensajes: 151
Antigüedad: 12 años
Puntos: 0
ok, bueno dejame primero hacer lo primero, lo de las ventas, despues sigo con lo del top 10, agradezco muchisimo su colaboracion, seria ideal seguir en contacto y asi no perder el hilo.

Saludos
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:49.