How can PHP and MySQL be integrated to track user activity and update online/offline status accordingly?

To track user activity and update online/offline status accordingly, you can create a database table to store user information including their last activity timestamp. Then, you can use PHP to update this timestamp whenever a user interacts with your website. By comparing the current timestamp with the last activity timestamp, you can determine if the user is online or offline.

// Connect to MySQL database
$mysqli = new mysqli("localhost", "username", "password", "database");

// Update user's last activity timestamp
$user_id = 1; // Example user ID
$timestamp = time();
$query = "UPDATE users SET last_activity = $timestamp WHERE id = $user_id";
$mysqli->query($query);

// Check if user is online based on last activity timestamp
$online_threshold = 300; // 5 minutes in seconds
$last_activity_query = "SELECT last_activity FROM users WHERE id = $user_id";
$result = $mysqli->query($last_activity_query);
$row = $result->fetch_assoc();
$last_activity = $row['last_activity'];

if (($timestamp - $last_activity) < $online_threshold) {
    echo "User is online";
} else {
    echo "User is offline";
}

// Close database connection
$mysqli->close();