Creating your own Leaderboard / Highscores Easy and Free (PHP & MySQL) [UPDATED 2020]

You're viewing a single comment in a conversation. View all the comments
  • 4 Comments

  • Order by
  • There are a few ways to do this.

    Here is one idea:

    Check the current getScores.php. Copy the PHP file and rename to getRank.php

    When you call this PHP, check the DataBase and return a Number (the player RANK).

    How?

    When calling getRank you need to send a parameter. So the PHP code knows what to look for inside the DB.

    One option is to use a UserName or Email, whatever "unique" identifier of the current player. The PHP would be called like this: "www.URL.com/getRank.php?playername=john"

    It must return, for example: "99"

    MY CHOICE. The second option.

    Call the PHP using your best score, and the PHP code will check HOW MANY people have a better score than YOU.

    Example: "www.URL.com/getRank.php?score=75"

    The PHP code checks how many players have a better score than 75 and will return:

    98

    So you know that you are #99 in the rank

    • So if we have more than one person with same score, how will that work? Anyway you can also get sql to check not just score but also name?

      • If you have: Andy 30, Brad 25, Charly 25, David 20, Edgar 15, Frank 15, George 15, Helen 10

        - getrank.php?score=20 (for David) will return Rank #4 ("there are 3 better scores")

        - getrank.php?score=15 (for Frank) will return Rank #5 ("there are 4 better scores." This ignores other people with same score -15-. In other words, it ranks you as the best in your same score. With 15 points your rank could be #5, #6 or #7. You can also make ALL of them with score=15 rank "5th")

        This is like some top scores looking like this:

        1 Andy

        2 Brad

        2 Charly

        4 David

        5 Edgar

        5 Frank

        5 George

        8 Helen