• 22-05-2015, 21:33:12
    #1
    Merhaba ben veri tabanına yeni eklenen kayıtları sesli bir şekilde mesaj olarak verdiriyorum ve sonra sayfayı yenilediğim de o tablonun değerini '0' yapıp tekar sesli mesajın gelmesini engelliyorum buraya kadar her şey güzel çalışıyor fakat kafama takılan bir soru var.

    veri tabanındaki kayıtlar çoğaldıkça update komutunu çalıştırmak DB,yi yoracak mıdır sonuçta bir id değerine bağlı olarak güncelleme yapmıyor sayfa her yenilediğinde alarm sütunundaki değeri '1' olan verileri '0' yapıyor kayıtın fazla olması tüm tabloları araması anlamına mı geliyor


    bununa çözüm olarak 2 farklı yol düşündüm ama yapmayı bilmiyorum malesef

    1. çözüm olarak son girilen 100 kayıtta update işleminin yapılması bunu nasıl yapacağım hakkında bir bilgim yok açıkçası.

    2. cron jop kullanarak update komutunu belli aralıklarla çalıştırmak örneğin akşam saat 8 ila sabah 7 arası 3 saate bir gibi

    ama bu seferde o saatler arasında gelen mesajlardan ses alamayacağım

    sizin tavsiyeleriniz nelerdir ne yapabilirim

    şuan çalışan kod şu şekilde kod olarak atamıyorum malesef r10 engelliyor sql injection gibi bir hata verdi

    aynı uygulamayı kullanmak isteyen arkadaşlar kodu buradan indirebilirsiniz



  • 22-05-2015, 22:52:52
    #2
    Hocam merhaba,

    Durumu tam olarak anlayamadım. Siz neden bütün mesajların "uyarı" sütununu 00 yapıyorsunuz?

    Sadece en son gelen mesajı yapsanız?

    Yani sistem bu şekilde çok daha sağlıklı çalışacaktır.
  • 22-05-2015, 23:14:20
    #3
    Celko adlı üyeden alıntı: mesajı görüntüle
    Hocam merhaba,

    Durumu tam olarak anlayamadım. Siz neden bütün mesajların "uyarı" sütununu 00 yapıyorsunuz?

    Sadece en son gelen mesajı yapsanız?

    Yani sistem bu şekilde çok daha sağlıklı çalışacaktır.
    hocam merhaba id kullanmadan son gelen mesajı 00 yapsam bile bu sefer sesli uyarı gelmeye devam edecektir çünkü tabloda alarm değeri 1 olan girdiler olacağı için uyarı sesini almaya devam edeceğim

    <audio preload="none" autoplay="autoplay" ><source src="<?php echo $oku['uyari'];?>" type="audio/mp3"></audio>
    burada kullandığım kod içerisindeki
    <?php echo $oku['uyari'];?>
    kısmı databasede bulunan tüm mesajları tek tek taramakta aslında bunun önüne nasıl geçerim onunda araştırmasını yapıyorum buda aşırı derecede database yoracaktır.

    işin aslın kafam durdu nasıl çıkacağım işin içinden onu bilmiyorum
  • 22-05-2015, 23:47:18
    #4
    Her türlü Id kullanman en sağlıklısı hocam.

    SQL tablona ID sütunu ekle ve A_I(auto increment) olarak seç,

    ariza tablosuna yeni gelen mesajların uyarı sütunu "duyulmadi" olarak gelsin,

    İşleme başlarken ariza tablosunda uyarısı "duyulmadı" olanlar en eski ID'ye göre çekilsin,

    While işlemi başlasın ve ses çalınsın,

    Sesi çalınan kaydın ID'sinin uyarı sütunu "duyuldu" olarak değiştirilsin.

    Birde sql bağlantısı için PDO kullanmanın öneririm.

    		
    		$calistir = mysql_query("select ID from ariza WHERE uyari = "duyulmadi" ORDER BY `ariza`.`ID` DESC") or die("Hata Olustu!");
    		while($oku=mysql_fetch_assoc($calistir)){
    			$IslemYapilanID = $oku["ID"];
    ?>
    		<audio preload="none" autoplay="autoplay" ><source src="ping.mp3" type="audio/mp3"></audio>
    		
    		
    		<?php mysql_query("UPDATE ariza SET uyari='duyuldu' WHERE ID={$IslemYapilanID} "); ?>
  • 23-05-2015, 00:26:06
    #5
    Celko adlı üyeden alıntı: mesajı görüntüle
    Her türlü Id kullanman en sağlıklısı hocam.

    SQL tablona ID sütunu ekle ve A_I(auto increment) olarak seç,

    ariza tablosuna yeni gelen mesajların uyarı sütunu "duyulmadi" olarak gelsin,

    İşleme başlarken ariza tablosunda uyarısı "duyulmadı" olanlar en eski ID'ye göre çekilsin,

    While işlemi başlasın ve ses çalınsın,

    Sesi çalınan kaydın ID'sinin uyarı sütunu "duyuldu" olarak değiştirilsin.

    Birde sql bağlantısı için PDO kullanmanın öneririm.

    		
    		$calistir = mysql_query("select ID from ariza WHERE uyari = "duyulmadi" ORDER BY `ariza`.`ID` DESC") or die("Hata Olustu!");
    		while($oku=mysql_fetch_assoc($calistir)){
    			$IslemYapilanID = $oku["ID"];
    ?>
    		<audio preload="none" autoplay="autoplay" ><source src="ping.mp3" type="audio/mp3"></audio>
    		
    		
    		<?php mysql_query("UPDATE ariza SET uyari='duyuldu' WHERE ID={$IslemYapilanID} "); ?>
    teşekkür ederim hocam deniyeceğim