Press ESC to close

Php veritabanına yeni değer eklenince bildirim sesi verme

PHP’nin sunucu tarafında çalıştığı ve doğrudan sayfanın yenilenmesi veya bildirim sesi verme gibi işlemleri gerçekleştiremediği için, bu işlemleri gerçekleştirmek için JavaScript kullanmanız gerekmektedir.

Aşağıdaki örnek kodda, JavaScript ile belirli aralıklarla veritabanını kontrol eder ve son kayıt ID’sinde değişiklik varsa kullanıcıya bildirim sesi verir.

index.php:

phpCopy code<?php
// Veritabanına bağlan
$servername = "localhost";
$username = "kullanici_adi";
$password = "sifre";
$dbname = "veritabani_adi";

// Veritabanı bağlantısı
$conn = new mysqli($servername, $username, $password, $dbname);

// Veritabanı bağlantısını kontrol et
if ($conn->connect_error) {
    die("Veritabanı bağlantı hatası: " . $conn->connect_error);
}

// Son kaydı sorgula
$sql = "SELECT id FROM tablo_adi ORDER BY id DESC LIMIT 1";
$result = $conn->query($sql);

// Son kaydın ID'sini al
if ($result->num_rows > 0) {
    $row = $result->fetch_assoc();
    $sonKayitID = $row["id"];
} else {
    $sonKayitID = 0; // Eğer veritabanında kayıt yoksa, sonKayitID'yi varsayılan olarak 0 yapabilirsiniz
}

// Veritabanı bağlantısını kapat
$conn->close();
?>

<!DOCTYPE html>
<html>
<head>
    <title>Son Kayıt Kontrolü ve Bildirim Sesi</title>
</head>
<body>
    <h2>Son Kayıt Kontrolü ve Bildirim Sesi</h2>
    <p>Son kayıt ID: <span id="sonKayitID"><?php echo $sonKayitID; ?></span></p>

    <script>
        var sonKayitID = <?php echo $sonKayitID; ?>;
        
        function veritabaniniKontrolEt() {
            // AJAX ile veri.php dosyasını çağırarak son kaydın ID'sini alın
            var xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function() {
                if (xhr.readyState === XMLHttpRequest.DONE) {
                    if (xhr.status === 200) {
                        var yeniSonKayitID = parseInt(xhr.responseText);
                        console.log('Yeni son kayıt ID:', yeniSonKayitID);
                        
                        if (yeniSonKayitID !== sonKayitID) {
                            // Son kayıt ID'si değişmiş, kullanıcıya bildirim sesi ver
                            bildirimSesiVer();
                            // Yeni son kayıt ID'yi güncelle
                            sonKayitID = yeniSonKayitID;
                        }
                    } else {
                        console.log('Veritabanı sorgu hatası');
                    }
                }
            };
            xhr.open('GET', 'veri.php', true);
            xhr.send();
        }

        // Bildirim sesi çalma işlevi
        function bildirimSesiVer() {
            var sesDosyasi = 'bildirim.mp3'; // Ses dosyasının yolu ve adı
            var audio = new Audio(sesDosyasi);
            audio.play();
        }

        // Belirli aralıklarla veritabanını kontrol edin (örneğin her 5 saniyede bir)
        setInterval(veritabaniniKontrolEt, 5000);
    </script>
</body>
</html>

Bu örnekte, veritabanındaki son kayıt ID’sini PHP ile alıyoruz ve span etiketi içine yerleştiriyoruz. JavaScript tarafında ise belirli aralıklarla AJAX ile veri.php dosyasını çağırarak son kayıt ID’sini alıyoruz ve bu değeri mevcut son kayıt ID’si ile karşılaştırıyoruz. Eğer son kayıt ID’sinde değişiklik varsa, bildirimSesiVer() fonksiyonunu çağırarak kullanıcıya bildirim sesi veriyoruz.

Bu örnekte bildirim.mp3 olarak bir ses dosyası kullanıldı, ancak istediğiniz başka bir ses dosyasını kullanabilirsiniz. Ayrıca, bu örnekte bildirim sesi vermek için HTML5 Audio API’si kullanıldı. Tarayıcınızın ses oynatma politikalarına göre, ses dosyasını çalabilmesi için kullanıcıdan izin alabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

@Katen on Instagram
Bu hata mesajını yalnızca WordPress yöneticileri görebilir

Hata: 1 kimliğine sahip hiçbir akış bulunamadı.

Bir akış oluşturmak için lütfen Instagram Akışı ayarlar sayfasına gidin.