Versio

"Meest bekeken" ophalen met 2 tabbellen

Overzicht Reageren

Arwin van der Velden

Arwin van der Velden

02/06/2010 13:54:44
Quote Anchor link
Hallo allemaal,

Ik wil een pagina maken waarop de producten staan die het meest zijn bekeken.
Wanneer iemand een product bekijken wordt er in de tabel "log" een nieuwe rij aangemaakt: ID|ID_product|ip|datumtijd
Er staan dus van 1 product meerdere rijen in de "log" tabel.

Hoe kan ik een lijst van producten krijgen die is gesorteerd op het aantal bezoeken? (met een limit van 10)
Is dit mogelijk met een query?
 
PHP hulp

PHP hulp

25/05/2012 09:04:44
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Bas Kreleger
Beheerder

Bas Kreleger

02/06/2010 14:26:55
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT `ID_product` FROM log GROUP BY `ID_product` ORDER BY datumtijd DESC
Gewijzigd op 02/06/2010 14:27:21 door Bas Kreleger
 
Arwin van der Velden

Arwin van der Velden

02/06/2010 14:49:53
Quote Anchor link
Arwin van der Velden op 02/06/2010 14:47:56:
Bas, dat is bijna wat ik bedoel,
Heb hem even aangepast zodat hij in de goede volgorde de id's laat zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT `ID_product` FROM log GROUP BY `ID_product` ORDER BY COUNT(ID_product) DESC LIMIT 0, 10


Nu krijg ik dus een lijstje met id's, en die producten moet hij uit de andere tabel halen (products), kan ik dit in 1 query doen?
 
Arwin van der Velden

Arwin van der Velden

04/06/2010 20:11:51
Quote Anchor link
Niemand?
Ik kan nu wel de output van deze query in een array stoppen en die array, met id's, weer meegeven in een query naar de tabel producten, maar kan het ook in query?
Dat hij dus de id's ophaald in de log database en dan meteen met die id's de producten geeft.
 
Klaasjan Boven

Klaasjan Boven

04/06/2010 21:56:36
Quote Anchor link
geen codetahs
Gewijzigd op 04/06/2010 21:59:19 door Klaasjan Boven
 
Klaasjan Boven

Klaasjan Boven

04/06/2010 21:58:54
Quote Anchor link
Wat Bas doet kan niet, geen group by zonder een aggregate functie zoals max min count sum enz.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
   log.id_product,
   count(log.id_product) as aantal,
   productnaam
FROM
   log,
   producten
WHERE
   producten.id = log.id_product
GROUP BY
   log.id_product,
   productnaam
ORDER BY COUNT(ID_product) DESC LIMIT 0, 10

zoiets zal het worden
 



Overzicht Reageren