PHP, PDO İle Anlık Veri Çekme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Joi

Donator
Katılım
14 Ocak 2017
Mesajlar
321
Tepki puanı
44
Ödüller
12
9 HİZMET YILI
Merhaba arkadaşlar ben CraweL. İnternet'te gezindim ve bu konuya ait yeterli kaynak olmadığına karar verdim..
Konuya geçelim;


İlk başta index.php yi düzenleyelim..
Kod:
<?php require_once "./src/ayar.php"; ?> <!-- Veritabanı bağlantımızı yapıyoruz..  -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Veri Güncelleme - CraweL</title>
  <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <!-- Jquery kodlarını çekiyoruz..  -->
  <script src="./js/ajax.js"></script> <!-- Ajax.js kodlarını ilave ediyoruz. Buraya gelicez :)  -->
</head>
<body>
    <alert id="sonuc"> <!-- Anlık veri çektiğinde veri yoksa sana bildirim yazısı yazar..  -->
    
    </alert>
<ul id="icerik">  <!-- Burada yazdırma işlemini yapıyoruz. Kendinize göre ayarlayınız. -->
        <?php

        $konu = $db->query("SELECT * FROM hesap_veri ORDER BY id DESC")->fetchAll(PDO::FETCH_ASSOC);
        foreach ($konu as $row) {
            extract($row);
            echo "
      <li id='".$row["id"]."'> ".$row["username"]." </li>
            ";
        }

        ?>
    </ul>


</body>

Sonradan ayar.php'ye gelerek veritabanımızı bağlayalım. Burada fazla durmadım gerekte duymadım.
Kod:
        <!-- Burada basit bir şekilde veritabanımıza bağlıyoruz. Burayı anlatmama gerek yok.  -->

<?php

    $host = "mysql:host=localhost;dbname=deneme";
    $user = "root";
    $pw = "";

    try {
        $db = new PDO($host, $user, $pw);
    }catch(PDOException $e){
        echo "Bir sorun var!".$e->getMessage();
    }

    $db->query("SET NAMES 'utf8'");

?>

Ajax.js ;

Kod:
$(function (){

    $.veri = function(){

        var id = $("#icerik li:first").attr('id'); // index.php deki #icerik id mizin içindeki li'nin id sini alıyoruz ve ona göre veri çekiyoruz.
        $.ajax({
            type: "POST",
            url: "./src/ajax.php", // ajax.php'den veri varsa verileri çekiyoruz.
            data: {"id": id},
            dataType: "json",
            success: function(cevap){
                if(cevap.hata){
                    $("#sonuc").html(cevap.hata);
                }else{
                    $("#icerik").prepend(cevap.soru);
                }
            }

        });

    }

    setInterval("$.veri()", 1000); // SetInterval yapıp 1 saniyede bir yenilenmesini sağlıyoruz.

});


Ajax.php ;

Kod:
<?php

    require_once "./ayar.php"; // Veritabanımızı bağlıyoruz.

    if($_POST){

        $id = $_POST["id"];
        if(!$id){
            $array["hata"] = 'Geçersiz işlem';
        }else{
            $query = $db->query("SELECT * FROM hesap_veri WHERE id > '$id' ORDER BY id DESC"); // Eğer bir önceki id den büyükse yazdır diyoruz ve geliyor. Burayı kendimize göre ayarlıyoruz.
            if($query->rowCount()){
                    $row = $query->fetchAll(PDO::FETCH_ASSOC);
                    foreach ($row as $veri){
                    extract($veri);
                    $array["soru"] = "
                    <li id='".$veri["id"]."'> ".$veri["username"]." </li>
                    "; // Echo vererek'te yeni eklenen verileri ekrana yansıtıyoruz.
                }
            }else{
                $array["hata"] = "Yeni eklenmiş veri bulunmuyor."; // Eğer veri eklenmezse Yeni eklenmiş veri bulunmuyor diyerek bizi bilgilendiriyor.
            }

        }

        echo json_encode($array);

    }

?>

Aslında basit bir işlem ben sadece üstünde durarak anlattım. Yardımcı olduysam ne mutlu bana.

İyi Forumlar :)
 
Son düzenleme:
❤❤
Süper Üye
Katılım
9 Mar 2018
Mesajlar
1,481
Çözümler
17
Tepki puanı
562
Ödüller
9
8 HİZMET YILI
Ellerine Sağlık :) + +
 
  • Like
Tepkiler: Joi
ALKYONEUS
Banlı Üye
Katılım
17 Şub 2019
Mesajlar
59
Tepki puanı
17
7 HİZMET YILI
Ellerine sağlık yüreğine sağkık:thinkie:
 
  • Like
Tepkiler: Joi
Donator
Katılım
4 Şub 2016
Mesajlar
870
Çözümler
4
Tepki puanı
637
Ödüller
15
Sosyal
10 HİZMET YILI
Eline koluna sağlık çok güzel konu
 
  • Like
Tepkiler: Joi
HackIstanbul 2019 Preselection Writeup Members
Seçkin Üye
Katılım
8 May 2018
Mesajlar
314
Tepki puanı
100
8 HİZMET YILI
Eline sağlık , başırılı
 
  • Like
Tepkiler: Joi
Doomsday is approaching
Ultra Üye
Katılım
8 Şub 2019
Mesajlar
1,709
Çözümler
5
Tepki puanı
684
Ödüller
8
7 HİZMET YILI
Hocam eline koluna sağlık , başkalarına öneririm.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst