• 02-11-2023, 17:11:56
    #1
    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>
  • 02-11-2023, 17:21:49
    #2
    Veritabanında kayıtlı olan saniye cinsindeki değer ile mevcut saatin saniye cinsinden değeri arasındaki farkı ekrana yansıtabilirsiniz.
  • 02-11-2023, 17:26:01
    #3
    Ne yapmak istediğinizi bilmiyorum fakat Session kullanarak çözebilirmişsiniz gibime geliyor hocam.
  • 02-11-2023, 17:26:52
    #4
    merhaba coundown eklentisi mevcut elimde php ile time değerini dateye çevirip geri sayım yaptırabilirsiniz fakat tablodan veriyi sllmek için cronjob olur gibi duruyor diğer türlü silinmesi için sitede aktif olmanız gerekmekte


    örnek kullandığım yer : https://www.yapkazan.net/draws
  • 02-11-2023, 18:01:30
    #5
    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();
    }
    ?>