Merhaba arkadaÅŸlar. Bu makalemizde veritabanından sayfamıza çektiÄŸimiz kayıtları yeni kayıt eklendiÄŸinde, silindiÄŸinde ve güncellendiÄŸinde sayfa yenilenmeden otomatik olarak web sayfamızda göstereceÄŸiz. Örnek olarak Facebook ve Twitter'ı verebiliriz. Bu iÅŸlemi php ve jquery yardımı ile yapacağız. Åžimdi kodlarımıza geçelim.
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Jquery Veri Çekme</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
$("#divimiz").load("veriler.php");
});
setInterval(function() {$("#divimiz").load('veriler.php');}, 1000);
</script>Öncelikle index sayfamızı oluÅŸturduk. Jquery kütüphanemizi sayfamıza çektik. Sonrasında sayfa yüklendiÄŸinde iÅŸleme alınacak fonksiyonumuzu yazdık. Birazdan oluÅŸturacağımız veriler.php sayfamızı divimiz id'li dive atadık. Setinternal yardımıyla saniyede bir veriler.php sayfamızı divimiz id isimli dive yükledik. Böylelikle verilerde deÄŸiÅŸiklik yapıldığında veya yeni kayıt eklendiÄŸinde anlık olarak sayfamızda görebileceÄŸiz. 1000 ibaresi yerine 5000 yazarsak her 5 saniyede bu yükleme iÅŸlemini yapar. Ardından body etiketlerimiz arasına divimizi yazdık. Åžimdi veriler.php sayfamıza geçelim.
</head>
<body>
<div id="divimiz"></div>
</body>
</html>
veriler.php
include ("baglanti.php");Bu sayfamızda öncelikle baglanti.php'yi sayfamıza dahil ettik. Bu sayfa veritabanı baÄŸlantımızı saÄŸlayacak. Sql kodumuzu yazıp deÄŸiÅŸkene aktarıyoruz. Sonrasında while döngüsü ve mysql_fetch_array ile çekip deÄŸiÅŸkenlere aktardık. Bu deÄŸiÅŸkenleri de sql kodumuzdan sonra oluÅŸturduÄŸumuz tablo içerisinde yazdırdık. Satır numarası vermek adına döngümüzün içerisinde i deÄŸiÅŸkenimizi artırıp tablo içerisinde ekrana yazdırdık. Åžimdi baglanti.php sayfamıza geçelim.
$ceksql = mysql_query("SELECT * FROM kayitlar order by no desc");
echo '
<table border="0" cellpadding="5" cellspacing="2" width="500">
<tr style="background-color:#ff0000; font-family:Tahoma; color:#ffffff;"><td>Sıra</td><td>Adı</td><td>Soyadı</td><td>Telefon Numarası</td></tr>
';
while($cek = mysql_fetch_array($ceksql))
{
$ad = $cek['ad'];
$soyad = $cek['soyad'];
$tel = $cek['tel'];
$i++;
echo '
<tr><td>'.$i.'</td><td>'.$ad.'</td><td>'.$soyad.'</td><td>'.$tel.'</td></tr>
';
}
echo '</table>';
baglanti.php
$mysql_host="localhost";Veritabanı ile baÄŸlantımızı saÄŸladık. Birde bir veritabanı oluÅŸturmamız gerekiyor. AÅŸağıda sql kodlarıyla veritabanını oluÅŸturabilirsiniz. Sonraki makalelerde görüÅŸmek dileÄŸiyle...
$mysql_kullaniciadi="root";
$mysql_sifre="root";
$mysql_vtadi="ajax";
$baglan= @mysql_connect($mysql_host,$mysql_kullaniciadi,$mysql_sifre);
if(! $baglan) die ("Mysql Baglantısında Hata Oluştu!");
mysql_select_db($mysql_vtadi,$baglan) or die ("Veritabanına Bağlanırken Hata Oluştu!");
mysql_query("SET NAMES UTF8");
CREATE TABLE `kayitlar` (
`no` int(11) NOT NULL auto_increment,
`ad` varchar(50) NOT NULL,
`soyad` varchar(50) NOT NULL,
`tel` varchar(11) NOT NULL,
PRIMARY KEY (`no`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=36 ;
18 Yorum
Sakin Bir Ziyaretçi
id'ye göre nasıl veri çekebiliriz? setInterval(function() {$("#divimiz").load('veriler.php?id=4');}, 1000);
Aykut ErdoÄŸan
Yazdığın şeye ilaveten veriler.php sayfasında id'yi get ile alman gerekir ve veritabanından sorgulamayı where'i ekleyerek yapman gerekiyor. WHERE id='$id' gibi.
Şükrü Yılmaz
Merhaba ben veritabanındaki ürünleri ürün seç kısmında select option ile listeleyip seçilen ürünün veritabanındaki açıklamasını sayfa yenilenmeden açıklama textareasına çekmek isti
Aykut ErdoÄŸan
Merhabalar, Öncelikle formunuzu oluÅŸturun. Bunu veriler.php sayfasındaki tablo yerine oluÅŸturacaksınız. Option etiketleri arasına ve value deÄŸerine veritabanından çekilen ilgili deÄŸeri yazacaksınız. Aynı ÅŸekilde texarea etiketleri i&ccedi
Şükrü Yılmaz
Ben fazla jquery den anlamıyorum sitenizde gezdim ama bunla ilgili örnekler bulamadım.
Şükrü Yılmaz
Dosyaları buradan indirip. http://s8.dosya.tc/server/rrfszp/teklif.rar.html Panelde Teklif OluÅŸtur sayfasında Ürün seçildikten sonra ürün adının ve özelliklerinin veritabanından gelmesini istiyorum
cenk
merhaba bu cektigimiz sayfaya css ve js eklemeden index sayfasindaki css yi kullanamiyor muyuz?
Aykut ErdoÄŸan
Merhabalar, Burada zaten css kodlarını css dosyasından çekmedik. Style etiketleri içerisinde belirttik. Ayrıca index sayfamıza dahil ettiÄŸimiz js sayfası olmadan yine index sayfamızda yer alan javascript kodları çalışmaz.
cenk
ilgilendigin icin tesekkur ederim ;) anladigim kadariyla index sayfamizdaki style tagi ile belirttigimiz bicimlendirmeler div icerisine cektigimiz sayfaya etki etmiyor.
mert
abi muhteÅŸemsin tam istediÄŸim kodlar
Onur Ulusoy
hocam merhaba ajaxdan veri cektirecegim bana ulasırmısınız 0543 390 05 40 ücretli bir ÅŸekilde veri cektirme iÅŸlemi yaptiracagim.
Aykut ErdoÄŸan
İletiÅŸime geçeceÄŸim.
Ümit Akdeniz
Çok teÅŸÅŸekür ederim
bekta? tanr?verdi
jquery ile bu sekilde veri cekiyorum lakin ghelen verilerde anasayfadaki ust.php deki jquery kodlar?n? gormüyor ve uygulam?yor bunu nas?l asabilirim 05066418877 ücretli olarak bilgi almak istiyorum
Hasan Ayd?n
Bu sektöre uzak bir kişi olarak sadece elektronik bir devrede kullanılmak üzere bu şekilde bir otomatik yenileme sistemine ihtiyacım vardı.Dediklerinizi birebir yaptım sadece sayfa adları ve veritabanı bilgilerini değiştirdim.1 yıldır arayıp ta bulamadığımı sizin sayenizde hallettim.Çok teşekkür ederim.Sorunsuz bir şekilde süper çalışıyor.
Samet Akpınar
selamın aleykum güzel ama ben sayfada misal veritabında 100 adet kayıt bulunuyor ben sadece son 3 veriyi göstermek istiyorum ve veritabnına yeni veri eklendiÄŸinde sayfa yenilemesi olmuycak
ZAFER
Samet akpınar yapmak istediÄŸiniz gibi sınırlamayı veritabanından veri çekerken sınırlayabilirsiniz. örnek : ("select * from tablo_ismi where kendi_stunun= $deÄŸiÅŸken limit 0,10") gibi yapabilirsin
sinirli iki ziyaretci
KardeÅŸim tasarım çok kötü.