Hi people,
 
	in this tutorial we are going to add a leaderboard system where we will display the total scores in a table which you earned by playing some games which give you score.
 
	First of all, we need to make some service-side changes and then move onto the web-side changes.
 
	This is a simple system, so first open your database and click the table 'penguins' and create a column named 'score', make sure it's INT(Integer) and also has a default value, '0'.
 
	Next, we would want to update that 'score' column whenever they play a mini-game so what we will do is go to the following folder:
 
	/Houdini/Houdini/Handlers/Games/
 
	and open the __init__.py file.
 
	Well, I had to use the MYSQL module because I couldn't really understand sqlalchemy  and MYSQLdb  module seemed easy, so yeah.
 
	If you don't have the module, install it using the following command:
 
pip install MySQLdb
	After that in the file, import this
 
import MySQLdb
	after
 
import math, time
	Now, we need to use the module so paste this code after the maxScorePerMinute = { array
 
db = MySQLdb.connect(host="localhost",   
                     user="root",       
                     passwd="pass",     
                     db="houdini",
					 autocommit=True)   
cur = db.cursor()
	Find the
 
	def handleSendGameOver(self, data): function
 
	and inside
 
if self.server.stampGroups.isStampRoom(self.room.Id):
	after coinsEarned = determineCoinsEarned(self.room.Id, data.Score)
 
	add this:
 
ID1 = self.user.ID
cur.execute("UPDATE penguins SET score = score + %s WHERE ID = %s " % (data.Score, ID1))
	Do the same for the next else statement:
 
	http://prntscr.com/ibb3b4
 
	Restart Houdini, now onto the web-server part.
 
<html>
<head>
<title>Leaderboard</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<center><h1>TOP 10 Score Leaderboard</h1></center>
<center>
<?php
$db = new mysqli('localhost','root','pass','houdini');
if ($db->connect_error) {
die('Error : ('. $db->connect_errno .') '. $db->connect_error);
}
$results = $db->query("SELECT username, score FROM penguins ORDER BY score DESC LIMIT 10");
echo "<table border='1'
       <tr>
	    <th>Username</th>
	   	<th>Score</th>
		</tr>";
		
while($row = $results->fetch_array()) {
    echo '<tr>';
    echo '<td>'.$row["username"].'</td>';
    echo '<td>'.$row["score"].'</td>';
    echo '</tr>';
}   
echo '</table>';
$db->close();
?> 
</center>
</body>
</html>
	You can change the LIMIT 10 to whatever number you like. So, whenever someone plays a game their score will get updated and it will display on the leaderboard.
 
	Thanks,
 
	Dev.