Voxen adlı üyeden alıntı: mesajı görüntüle
Whatsapp: +357 96 704056 veya PM

Merhabalar, kullanıcıların sqlde kayıtlı time değeri var ve bu saniye cinsinden, ben ise bunu dakikaya çevirdim. Örneğin time değeri 60 ise 00:1:00 olacak şekilde ve bir php tabloda gözüküyor bu.
Tablodaki değeri geriye doğru saydırıp kullanıcı sayfayı yenilese bile nerede kaldıysa oradan devam etmesini nasıl sağlayacağım? En son 00:00:00 olduğunda ise tablodan silinsin.

sql kaydedip, php ile saniye başı sunucuyu aşırı yoracağını düşündük, cookie ile de kaydetmek aklımıza geldi fakat o da aynı şekil. ücretli yardımcı olabilecekler fiyat bilgisi ile Whatsapp'tan iletişime geçebilir.



<script>
function startCountdown(id, seconds) {
    var countdownElement = document.getElementById('countdown-' + id);
    
    function updateCountdown() {
        if (seconds <= 0) {
            countdownElement.innerHTML = "00:00:00";
            return;
        }
        
        var hours = Math.floor(seconds / 3600);
        var minutes = Math.floor((seconds % 3600) / 60);
        var remainingSeconds = seconds % 60;
        
        countdownElement.innerHTML =
            (hours < 10 ? "0" : "") + hours + ":" +
            (minutes < 10 ? "0" : "") + minutes + ":" +
            (remainingSeconds < 10 ? "0" : "") + remainingSeconds;
        
        seconds--;
    }
    
    updateCountdown();
    var countdownInterval = setInterval(updateCountdown, 1000);
}
</script>
Kodu aşağıdaki gibi düzeltin
<script>
function startCountdown(id, seconds) {
    var countdownElement = document.getElementById('countdown-' + id);
    
    // LocalStorage'dan kalan süreyi al
    var storedSeconds = localStorage.getItem('countdown-' + id);
    if (storedSeconds) {
        seconds = parseInt(storedSeconds);
    }
    
    function updateCountdown() {
        if (seconds <= 0) {
            countdownElement.innerHTML = "00:00:00";
            clearInterval(countdownInterval); // Interval'i durdur
            localStorage.removeItem('countdown-' + id); // LocalStorage'dan sil
            deleteFromDatabase(id); // Veritabanından sil
            return;
        }
        
        var hours = Math.floor(seconds / 3600);
        var minutes = Math.floor((seconds % 3600) / 60);
        var remainingSeconds = seconds % 60;
        
        countdownElement.innerHTML =
            (hours < 10 ? "0" : "") + hours + ":" +
            (minutes < 10 ? "0" : "") + minutes + ":" +
            (remainingSeconds < 10 ? "0" : "") + remainingSeconds;
        
        localStorage.setItem('countdown-' + id, seconds); // LocalStorage'a kaydet
        seconds--;
    }
    
    updateCountdown();
    var countdownInterval = setInterval(updateCountdown, 1000);
}

function deleteFromDatabase(id) {
    // AJAX ile veritabanından kaydı sil
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "delete_record.php", true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("id=" + id);
}
</script>
sonrasında bir delete_record.php adında bir php dosyası oluşturun
<?php
// Veritabanı bağlantısı
$conn = new mysqli("localhost", "username", "password", "database");

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $id = $_POST["id"];
    
    // Veritabanından kaydı sil
    $sql = "DELETE FROM tabloadı WHERE id = ?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("i", $id);
    $stmt->execute();
    $stmt->close();
    $conn->close();
}
?>