ロードする何かがあるときだけ、より多くのボタンをロードする

私は現在、hycus.comで見つかったスクリプトを使用して、自分のページのクリック機能をより多く作成しています。より多くのボタンをクリックすると、サーバーからデータを取得し、ajaxを使用してそのデータを表示します。それはうまく動作しますが、私が持っている問題はこれです:表示するデータがない場合でも、さらに多くのボタンを表示すると、まだ表示されます。

表示するデータがないときに表示されたり消えたりするデータがある場合にのみ、負荷をより多くのボタンに表示するようにします。

インデックスページ: jquery

<script type="text/javascript">
        $(document).ready(function(){
            $("#loadmorebutton").click(function (){
                $('#loadmorebutton').html('');
                $.ajax({
                    url: "loadmore.php?lastid=" + $(".postitem:last").attr("id"),
                    success: function(html){
                        if(html){
                            $("#postswrapper").append(html);
                            $('#loadmorebutton').html('Load More');
                        }else{
                            $('#loadmorebutton').replaceWith('
No more posts to show.
');
                        }
                    }
                });
            });
        });
    </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>

The loadmore.php page has;

<?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 } ?>

Basically what it this script does is, the index page will load the first 25 items from the database, and when you click on load more, it triggers loadmore.php, which will load 10 more the data starting from the last id loaded already. What I want to do is...to remove the Load more from the screen IF there's less than 25 items in the database and show if there's more than 25 items in the database.

2
追加された 編集された
ビュー: 1
通常の
  • 項目1
  • 項目2
  • 種類の構造
    追加された 著者 Jay Smoke,
    10項目はどのように表示されますか?あなたはHTMLマークアップを持っていますか?
    追加された 著者 Samuel Liew,

    2 答え

    これをjQueryの準備関数に入れます:

    if($('#postswrapper li').length == 10) {
        $('#loadmorebutton').show();
    }
    else {
        $('#loadmorebutton').hide();
    }
    
    2
    追加された
    私はどこでもあなたのスクリプトを置いています。私はそれを考えることができ、それはうまくいきません... ?????
    追加された 著者 Jay Smoke,
    あなたが私の日を保存した@サミュエルのおかげで:)
    追加された 著者 dh47,
    <?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 } 
        if(mysql_num_rows($getlist) <= 25) { ?>
        <script type="text/javascript">
            $(function(){
                 $('#loadmorebutton').hide();
            });
        </script>
        <?php } ?>
    
    2
    追加された
    こんにちはサム、あなたのスクリプトは、行が25以上の場合は、より多くの負荷を隠すはずですか?行が25未満の場合は、代わりにloadmorebuttonを非表示にする必要がありますか?
    追加された 著者 Jay Smoke,
    こんにちはサム。私はより大きい記号をより少なくに変更し、それは働いた。あなたは代わりにこのページに回答を投稿してもらえますか?[jQuery hide load more button "> stackoverflow.com/questions/8120743/… ここであなたの答えを削除してこのページを削除できますか?ありがとう
    追加された 著者 Jay Smoke,
    あなたが正しいです。これは機能しますか?
    追加された 著者 Samuel Liew,