Ranking systeem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Klaas Knan

Klaas Knan

22/06/2010 22:55:46
Quote Anchor link
Hallo,

Ik heb mijn site bijna af!
Ik mis alleen nog een paar dingen, waaronder een ranking voor de leden.
Ik wil graag een ranking voor de mensen die het meeste hebben gepost.

Nu heb ik dus een script nodig dat het aantal posts omzet in een score rank.

Zo van

Lid 1 Rank # 1 Posts 1000
Lid 2 Rank # 2 Posts 800
Lid 3 Rank # 3 Posts 700

Volgens mij komt hier ook een cron aan te pas die ieder uur een update doet, toch ?

!!!Voor de duidelijkheid, de ranking moet weergeven worden op het profiel van de speler als Rank #*!!!

Als iemand mij dit heel duidelijk zou kunnen uit leggen wat ik allemaal moet doen enzo dan zou dat mij een enorme stap helpen!

Groetjes Klaas.

P.S. Ik heb een probleempje met de tijd die uit de database wordt gehaald, als ik iets maak van laatst online en dan de tijd. en ik zorg dat ik gelijk kijk nadat ik heb geupdate dan staat er een verschil van 2 uur, kan dit verholpen worden ?

Ik heb al een cron voor een dag, maar volgens mij loopt die niet op 24 uur, want de ene keer staat er een update om 4 uur 's ochtends dan weer om 2 uur etc.
Gewijzigd op 22/06/2010 22:57:22 door Klaas Knan
 
PHP hulp

PHP hulp

07/12/2021 13:29:30
 
Joakim Broden

Joakim Broden

23/06/2010 08:30:48
Quote Anchor link
Waarom zou je hier een cron voor nodig hebben? Je kunt toch gewoon de profiel van het lid openen en dan pas de ranking berekenen?

En om de rank te berekenen kijkje hoeveel post iemand heeft door zoiets
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$query = mysql_query("SELECT id FROM posts");
$aantal = mysql_num_rows($query);


En dan aan de hand van $aatal de rank bepalen.

Of zie ik het nu verkeerd?
 
Hipska BE

Hipska BE

23/06/2010 10:36:45
Quote Anchor link
Je bent bijna correct Oetzie.

Hiervoor gaan we geen gebruik magen van het trage num_rows maar van COUNT.

Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT COUNT(*) AS aantal FROM posts WHERE userid = 1337
 
Joren de Wit

Joren de Wit

23/06/2010 12:56:03
Quote Anchor link
Gebruik de query van Hipska als je het aantal posts van 1 user op wilt halen. Wil je een ranglijst met meerdere users, gebruik dan een query met GROUP BY:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
  userid,
  COUNT(id) AS aantal
FROM
  posts
GROUP BY
  userid
 
Klaas Knan

Klaas Knan

23/06/2010 15:38:46
Quote Anchor link
Hmm, hoe moet het dan in de database staan?
En als ik het in een profiel wil weergeven als #331 ( bijvoorbeeld )

Hoe doe ik dat ?

Edit:

@Oetzie

En dan aan de hand van $aatal de rank bepalen.

Onze vraag is hoe we de rank bepalen, het ophalen van de score lukt nog wel, maar de score omzetten in een rank. Dat is wat we zoeken.
Gewijzigd op 23/06/2010 16:03:38 door Klaas Knan
 
Bas M

Bas M

23/06/2010 17:10:38
Quote Anchor link
als dit werkt neem ik die zeker mee!
 
Klaas Knan

Klaas Knan

23/06/2010 21:48:19
Quote Anchor link
Niet allemaal tegelijk aub.
Niemand een idee ?!
 
Klaas Knan

Klaas Knan

25/06/2010 11:42:13
Quote Anchor link
Mijn oprechte excuses voor het hier eerder geposte bericht, ik was erg gefrustreerd door al die scripts en al die codes en ik moest het even kwijt. Nogmaals sorry dat het zo moest, het script heb ik inmiddels en sorry oetzie maar dat is niet precies wat ik bedoel.
Gewijzigd op 26/06/2010 11:02:01 door Klaas Knan
 
Chris -

Chris -

25/06/2010 11:51:05
Quote Anchor link
Klaas, ik vind dat jij je best mag schamen om dát te zeggen. Het is hier phphulp. Als je sneller hulp nodig hebt, open je een vacature en geef je er geld voor. Als je dat er niet voor over hebt, wacht je gewoon rustig af totdat iemand het antwoord geeft.

De oplossing voor jouw probleem is heel simpel, maar ik plaats hem hier niet totdat je je bericht hebt aangepast naar iets fatsoenlijkers en met meer respect.
 
Johan Dam

Johan Dam

25/06/2010 11:52:39
Quote Anchor link
volgens mij ben je prima geholpen,

EDIT:
oplossing weggehaald, ben het met Chris eens dat een beetje manieren geen kwaad kunnen,
Gewijzigd op 25/06/2010 12:04:53 door Johan Dam
 
Joakim Broden

Joakim Broden

25/06/2010 12:24:56
Quote Anchor link
Klaas knan, wat ben jij een oelewapper... De antwoorden staan hier al gegeven! Als je gewoon een beetje in php verdiept had je dit zelf ook wel allemaal kunnen bedenken/vinden! Maar nee je als php numbie wil gelijk weer moeilijk beginnen. Begin gewoon bij stap 1 en dan 2,3,5, etc en niet gelijk bij stap 10 beginnen. En zorg eens dat je manieren krijgt!

En dit is een mogelijkheid dat ze zou kunnen gebruiken. Maar als je gewoon eens nadacht had je hier zelf wel achter kunnen komen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
if(($aantal > 0) AND ($aantal <= 100)) {
  echo 'Rank 1';
}elseif(($aantal > 100) AND ($aantal <= 200)) {
  echo 'Rank 2';
}elseif(($aantal > 200) AND ($aantal <= 300)) {
  echo 'Rank 3';
}


Dit is een simpele en snel voorbeeld, de code kan stukken beter maar daar zorg je zelf maar voor, meer help ik je niet want zorg maar eens dat je wat manieren krijgt!
 
Ivo K

Ivo K

25/06/2010 15:50:21
Quote Anchor link
Klaas Knan op 25/06/2010 11:42:13:
Heel erg bedankt voor de hulp. -.-
Persoonlijk vind ik dat jullie je best mogen schamen.


Waarom zouden wij ons moeten schamen? Omdat jij het dus zo simpel vindt, nou doe het dan zelf! Nee, dat lukt niet dus ben je hier. Jij bent eerder degene die zich zou mogen schamen: Je vertikt het om snel even een tutorial door te nemen - zie PHPtuts van Blanche voor een paar zeer goede gebruikershandleidingen - en ten tweede denk je ook niet echt mee. Wij bieden hulp maar zijn niet een service van je.
Gewijzigd op 25/06/2010 15:50:44 door Ivo K
 
Klaas Knan

Klaas Knan

26/06/2010 11:02:29
Quote Anchor link
Mijn oprechte excuses voor het hier eerder geposte bericht, ik was erg gefrustreerd door al die scripts en al die codes en ik moest het even kwijt. Nogmaals sorry dat het zo moest, het script heb ik inmiddels en sorry oetzie maar dat is niet precies wat ik bedoel.
 
Joakim Broden

Joakim Broden

26/06/2010 11:53:42
Quote Anchor link
Hoezo is dit niet je wat je bedoelt? zo kun je toch zien hoeveel posts iemand heeft? Aan de hand van die posts kun je een rank bepalen en wat je met die rank doet moet je zelf weten, je kunt het bijvoorbeeld in database opslaan of iets dergelijke.

Anders snap ik niet echt wat je bedoelt?

En excuses aanvaard :)
 



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.