"Meest bekeken" ophalen met 2 tabbellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arwin  vdv

Arwin vdv

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

22/12/2024 09:35:36
 
B a s
Beheerder

B a s

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 B a s
 
Arwin  vdv

Arwin vdv

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  vdv

Arwin vdv

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

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.