tellen uit de database?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark

mark

28/05/2006 01:00:00
Quote Anchor link
weet iemand hoe ik dmv php door SQL kan laten zoeken welk getal er het meeste in staat.

heb namelijk een forum en wil een top 3 van posters weergeven.

2 tabellen: users (user info) en posts (berichten forum)
in tabel posts staat userID in deze tabel word het ID uit de tabel users geplaatst als iemand een bericht plaatst.

nu wil ik dus zoeken welk userID er het meeste in staat

het moet iets zijn in de richting

$sqlTop3 = mysql_query("SELECT userID FROM 'posts'");
$Top3 = mysql_num_rows($sqlTop3);

maar op deze manier (logisch :P ) telt hij dus alle berichten.

ik wil dus dat hij telt hoevaak elke userID voorkomt :S

en dan de resultaten "DESC LIMIT 3" als dat kan :P

als iemand een ideetje heeft graag :P
word dol van alles wat ik probeer
 
PHP hulp

PHP hulp

17/05/2024 02:59:58
 
Richard

Richard

28/05/2006 01:13:00
Quote Anchor link
Op de manier die jij wilt zou ik niet weten hoe het moet. Wat je wel kunt doen is een apparte record per user erbij zetten. Telkens als hij post tel je er hier eentje bij op. Zo kun je heel makkelijk een top 3 krijgen
 
Mark

mark

28/05/2006 01:17:00
Quote Anchor link
hehe die heb ik al een
maar wil de database wat inkorten ;)
al die records :P
 
Mark

mark

28/05/2006 01:18:00
Quote Anchor link
select posts from users order by posts desc
is de regel die ik nu gebruik maar wil dat de database minder gaat doen en php meer voor me doet ;)
hoe minder er geschreven moet worden per post naar de db hoe sneller en beter het gaat...
en hoe minder kans op fouten tijdens dit proces ;)
 
Mark

mark

28/05/2006 01:21:00
Quote Anchor link
met LIMIT 3 natuurlijk er bij :P
 
Frank -

Frank -

28/05/2006 14:54:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT
  COUNT(userID) AS aantal
FROM
  posts
GROUP BY
  userID
ORDER BY
  aantal
LIMIT 3

Met deze query laat je de database het telwerk doen, die kan dat uitstekend zelf doen.

En de database inkorten? Ik weet niet hoeveel miljoen records jij in de database hebt staan, maar meestal staan die records niemand in de weg. En om de boel te versnellen, is het aanleggen van de juiste indexen zinvoller.
 
Jason de Ridder

Jason de Ridder

28/05/2006 15:00:00
Quote Anchor link
Waarom zou je moeten tellen? gewoon selecteren met een order by die van hoog naar laag gaat en dan limit 3 instellen :)
 



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.