PHP:Jquery: Scroll Down Auto Load Data (Sayfayı aşağı kaydırınca otomatik veri yükleme)

Bu uygulamada bazı web sitelerinde görülen sayfa altına scroll edilince yeni verilerin Ajax ile yüklenme olayını inceleyeceğiz. Örnek site için sortfolio.  Bu uygulama ile sayfa hareketine göre verilerin daha düzenli ve verimli kullanılmasını sağlıyoruz. Tabi ki sunucu performansından büyük tasarruf  ediyoruz.

Scroll window auto load

Bu uygulama demosu için de daha önce kullandığım mysql.php database class yapısını kullandım. En kısa zamanda bu class ‘ı da detaylıca açıklayacağım.
Uygulamamız için gereken kodlara geçelim: 

index.php kodları


<style type="text/css">
*{ margin:0px; padding:0px }
body
{
font-family:'Georgia',Times New Roman, Times, serif;
font-size:18px;
}
.message_box
{
height:auto;
width:600px;
border:solid 1px #48B1D9;
padding:5px ;
}
#panel{
color:#333;
background-color:#C8E6E2;
width:100%;
}
#last_msg_loader
{
text-align: right;
width: 920px;
margin: -125px auto 0 auto;
}
.number
{
float:right;
background-color:#48B1D9;
color:#000;
font-weight:bold;
}
</style>
<?php
include('mysql.php');
$last_msg_id=$_GET['last_msg_id'];
$action=$_GET['action'];

if($action <> "get")
{
?>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
function last_msg_funtion()
{
var ID=$(".message_box:last").attr("id");
$('div#last_msg_loader').html('<img src="wait.gif">');
$.post("scroll.php?action=get&amp;amp;last_msg_id="+ID,

function(data){
if (data != "") {
$(".message_box:last").after(data);
}
$('div#last_msg_loader').empty();
});
};

$(window).scroll(function(){
if ($(window).scrollTop() == $(document).height() - $(window).height()){
last_msg_funtion();
}
});
});
</script>
<title>Serpito.Com - Scroll Load Demo</title>
<div id="panel">
<center><h2>Serpito.com</h2>
Bu demo <a href="http://www.serpito.com/scroll-down-auto-load-data/">PHP:Jquery: Scroll Down Auto Load Data</a> icin hazirlanmistir.
</center>
</div>
<?php
//Include load_first.php
$sql=$dba->query("SELECT ID,post_title,post_name FROM wp_posts WHERE post_status='publish' ORDER BY ID DESC LIMIT 25");
while($row=$dba->fetch_array($sql))
{
$msgID= $row['ID'];
$msg= $row['post_title'];
$link=$row['post_name'];
?>
<div id="<?php echo $msgID; ?>" >
<a href="http://www.serpito.com/<?php echo $link; ?>/"><?php echo $link; ?></a>
</div>
<?php
}

?>
<div id="last_msg_loader"></div>
<?php
}else{
include('scroll.php'); //include load_second.php
}
$dba->close();
?>

&nbsp;

scroll.php kodları


<?php
include('mysql.php');
$last_msg_id=$_GET['last_msg_id'];
$sql=$dba->query("SELECT * FROM wp_posts WHERE ID<'$last_msg_id' and post_status='publish' ORDER BY ID DESC LIMIT 5");
$last_msg_id="";
while($row=$dba->fetch_array($sql))
{
$msgID= $row['ID'];
$link=$row['post_name'];
$msg= $row['post_title'];
?>
<div id="<?php echo $msgID; ?>" >
<a href="http://www.serpito.com/<?php echo $link; ?>"><?php echo $link; ?></a>
</div>
<?php
}
$dba->close();
?>

 

Atilla Akoğlu

Creating web applications since 2004. e-commerce, entrepreneur and enterprise advisor. Always open for new projects, ideas and deals...  

Website - Twitter - Facebook - More Posts

9 Comments

  • 15 Şubat 2010 - 18:22 | Permalink

    Keşke yazı başlığı da türkçe olsaydı.

  • 15 Şubat 2010 - 18:26 | Permalink

    türkçesi için önerin var mı şenol? ben biraz zorlandım da. mesela böyle bişey nasıl olur; Scroll Down Otomatik veri yükleme

  • 15 Şubat 2010 - 18:32 | Permalink

    “Jquery ve Php ile sayfayı aşağı kaydırınca içerik yükletmek” olabilir mi aceba?

  • 15 Şubat 2010 - 18:36 | Permalink

    Sanırım orta yol bu şekilde bulundu.

  • 20 Şubat 2010 - 11:32 | Permalink

    güzel bir yazı, teşekkürler.

  • 02 Kasım 2010 - 18:15 | Permalink

    Merhaba arkadaşlar!
    Atilla öncelikle teşşür eetmek isterim.
    Çünkü onun kodları olmasa belki buda olmayacaktı.
    Arkadaşım öncelikle kondlarnı kulandım. PHP – kullanan arakadaşlarımız var ama ASP kullananda.

    Bende ASP formatına çevirdim linkte:

    http://xmaster.cc/download/scroll_load.rar

    kolay gelsin.

  • Pingback: Anonim

  • Pingback: jquery ile sonsuz sayfa

  • 02 Temmuz 2011 - 23:36 | Permalink

    Yazı için gerçekten teşekkürler. Mysql.php’deki database class’ı yerine daha basit birşey kullansaydınız en azından kullanmak isteyenlerin uyarlaması için daha kolay olurdu diye düşünüyorum. Ama yinede teşekkürler.

  • Bir Cevap Yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    *

    Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>