How can PHP be used to track and calculate user points in a database for a points system on a website?

To track and calculate user points in a database for a points system on a website, you can use PHP to update the user's points in the database whenever they earn or spend points. You can create functions to add or subtract points from the user's total, and then update the database accordingly. Additionally, you can retrieve the user's current points from the database to display on the website.

// Connect to the database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "points_system";

$conn = new mysqli($servername, $username, $password, $dbname);

// Function to add points to user
function addPoints($user_id, $points){
    global $conn;
    $sql = "UPDATE users SET points = points + $points WHERE id = $user_id";
    $conn->query($sql);
}

// Function to subtract points from user
function subtractPoints($user_id, $points){
    global $conn;
    $sql = "UPDATE users SET points = points - $points WHERE id = $user_id";
    $conn->query($sql);
}

// Function to get user's current points
function getUserPoints($user_id){
    global $conn;
    $sql = "SELECT points FROM users WHERE id = $user_id";
    $result = $conn->query($sql);
    $row = $result->fetch_assoc();
    return $row['points'];
}