<?
$db = new MySQLi('host', 'user', 'pass', 'database');
$players = $db->query('SELECT `players`.`id`, `players`.`experience`, `players`.`level` FROM `players`;');
function getExperienceForLevel($level)
{
$level -= 1;
return ((50 * $level * $level * $level) - (150 * $level * $level) + (400 * $level)) / 3;
}
function needLevel($experience, $level)
{
if($experience >= getExperienceForLevel($level + 1))
return true;
return false;
}
function gainLevel($id)
{
//Stats gain and stuff goes here also.
$db->query('UPDATE `players` SET `players`.`level` = `players`.`level` + 1 WHERE `players`.`id` = '.$id.';');
}
if($players->num_rows)
while($player = $players->fetch_assoc())
while(needLevel($player['experience'], $player['level']))
gainLevel($player['id']);
$db->close();
?>