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..
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
İyi Forumlar
Son düzenleme: