Ładowanie strony przy jej scrollowaniu w dół (jQuery&php).

Ten poradnik jest o ładowaniu danych (SQL), podczas gdy strona jest przewijana (zastosowanie jQuery i PHP).
Przykładowo mamy wiele danych, ale nie możemy ich wyświetlić wszystkich z pomocą przychodzi skrypt który pozwala na wyświetlanie określonej ilości danych, a po scrollowaniu strony automatycznie doładowywują się pozostałe dane.

Zapoznaj się z demem, a jak Ci się spodoba to zobacz jak to jest zrobione.

DEMO DOWNLOAD


 

Kompatybilne z przeglądarkami : Safari, Firefox, IE, Chrome

 

Plik: load_data.php

<?php
include('config.php');
$last_msg_id=$_GET['last_msg_id'];
$action=$_GET['action'];

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

<script type="text/javascript" src="jquery.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="bigLoader.gif">');
$.post("load_data.php?action=get&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>

</head>
<body>
<?php 
include('load_first.php'); //Include load_first.php 
?>
<div id="last_msg_loader"></div>
</body>
</html>
<?php
}

else
{
include('load_second.php'); //include load_second.php
}
?>

Plik: load_first.php

<?php
$sql=mysql_query("SELECT * FROM messages ORDER BY mes_id DESC LIMIT 20");
while($row=mysql_fetch_array($sql))
{
$msgID= $row['mes_id'];
$msg= $row['msg'];
?>
<div id="<?php echo $msgID; ?>" class="message_box" > 
<?php echo $msg; ?>
</div> 
<?php
} 
?>

Plik: load_second.php

<?php
$last_msg_id=$_GET['last_msg_id'];
$sql=mysql_query("SELECT * FROM messages WHERE mes_id < '$last_msg_id' ORDER BY mes_id DESC LIMIT 5");
$last_msg_id="";
while($row=mysql_fetch_array($sql))
{
$msgID= $row['mes_id'];
$msg= $row['msg']; 
?>
<div id="<?php echo $msgID; ?>" class="message_box" > 
<?php echo $msg; 
?>
</div>
<?php
} 
?>

Plik: style.css

body
{
font-family:'Georgia',Times New Roman, Times, serif;
font-size:18px;
}
.message_box
{
height:60px;
width:600px; 
border:dashed 1px #48B1D9; 
padding:5px ;
}
#last_msg_loader
{
text-align: right;
width: 920px;
margin: -125px auto 0 auto;
}
.number
{
float:right; 
background-color:#48B1D9; 
color:#000; 
font-weight:bold;
}
Podziel się :
  • Facebook
  • Twitter
  • email
  • Drukuj
  • PDF

Może Ci się również spodoba

4 komentarze

  1. Darek pisze:

    Nie ma nic w demie…

  2. shofer pisze:

    Plik config.php :

    $mysql_hostname = „localhost”;
    $mysql_user = „root”;
    $mysql_password = „root”;
    $mysql_database = „9lessons”;
    $prefix = „”;
    $bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die(„Could not connect database”);
    mysql_select_db($mysql_database, $bd) or die(„Could not select database”);

  3. wojtek pisze:

    i kjak wyglada config.php ?
    chodzi o ten z phpmyadmin?

  4. Wojtek pisze:

    A cos wiecej? Brak wyjasnien.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.