What are common methods for implementing a download counter for multiple files on a webpage using PHP?

To implement a download counter for multiple files on a webpage using PHP, you can store the download count for each file in a database and update it every time a user downloads the file. You can then retrieve the download count from the database and display it next to each download link on the webpage.

<?php
// Connect to database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "downloads";

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

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Function to update download count
function updateDownloadCount($fileId, $conn) {
    $sql = "UPDATE files SET downloads = downloads + 1 WHERE id = $fileId";
    $conn->query($sql);
}

// Function to get download count
function getDownloadCount($fileId, $conn) {
    $sql = "SELECT downloads FROM files WHERE id = $fileId";
    $result = $conn->query($sql);
    $row = $result->fetch_assoc();
    return $row['downloads'];
}

// Display download links with download count
$sql = "SELECT * FROM files";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $fileId = $row['id'];
        $fileName = $row['name'];
        $downloadCount = getDownloadCount($fileId, $conn);
        
        echo "<a href='download.php?id=$fileId'>$fileName</a> (Downloads: $downloadCount)<br>";
    }
} else {
    echo "No files found.";
}

$conn->close();
?>