В настоящее время я использую скрипт, который я нашел на hycus.com, для создания функции загрузки по клику на моей странице.Когда вы нажимаете кнопку «Загрузить больше», он выбирает данные с сервера и отображает их с помощью ajax.Он работает нормально, но проблема у меня заключается в следующем: кнопка «загрузить больше» все еще отображается, даже когда нет данных для отображения.
Я хочу, чтобы кнопка «загрузить больше» отображалась только тогда, когда есть данные, которые отображаются и исчезают, когда естьнет данных для отображения.
страница индекса: jquery
<script type="text/javascript">
$(document).ready(function(){
$("#loadmorebutton").click(function (){
$('#loadmorebutton').html('<img src="ajax-loader.gif" />');
$.ajax({
url: "loadmore.php?lastid=" + $(".postitem:last").attr("id"),
success: function(html){
if(html){
$("#postswrapper").append(html);
$('#loadmorebutton').html('Load More');
}else{
$('#loadmorebutton').replaceWith('<center>No more posts to show.</center>');
}
}
});
});
});
</script>
Html:
<div id="wrapper">
<div id="postswrapper">
<?php
$getlist = mysql_query("SELECT * FROM table_name LIMIT 25");
while ($gl = mysql_fetch_array($getlist)) { ?>
<div class=postitem id="<? echo $gl['id']; ?>"><?php echo $gl['title']; ?></div>
<?php } ?>
</div>
<button id="loadmorebutton">Load More</button>
</div>
</div>
Страница loadmore.php имеет;
<?php
$getlist = mysql_query("SELECT * FROM table_name WHERE id < '".addslashes($_GET['lastid'])."'
LIMIT 0, 25 LIMIT 10");
while ($gl = mysql_fetch_array($getlist)) { ?>
<div><?php echo $gl['title']; ?></div>
<?php } ?>
По сути, этот скрипт выполняет следующие действия: страница индекса загружает первые 25 элементов из базы данных, а когда вы нажимаете на кнопку load more, запускается loadmore.php, который загружает еще 10 данных, начиная с последнего загруженного идентификатора.,Что я хочу сделать, это ... убрать «Загрузить больше» с экрана, если в базе данных менее 25 элементов, и показать, есть ли в базе более 25 элементов.