0

SQLデータベースの結果をページ分割する必要があるWebサイトに取り組んでいます。アイデアはこのようなものです。ユーザーは、米国の各州のコードが記載された送信ボタンをクリックして、その州のユーザーが残したすべてのコメントを表示できます。たとえば、[NY]をクリックすると、NYからのすべての人のコメントが表示され、[TX]をクリックすると、すべてのTXが表示されます。結果を1つの大きなリストに表示することは機能しますが、これらの結果を今すぐページ付けしたいと思います。私は現在、新しい状態が表示されるたびに再更新する必要がある独自のpaginate.phpファイルにあるこのコードを使用しています。

<?php

...

$rs_result = mysql_query($sql); 
$row = mysql_fetch_row($rs_result); 
$total_records = $row[0]; 
$total_pages = ceil($total_records / 10); 

for ($i=1; $i<=$total_pages; $i++) { 

echo "<a href='?page=".$i."'>".$i."</a> ";

}; 
?>

コード自体は、ページを更新するため、正確には機能しません。これを行うと、以前にクリックされた状態のメモリが失われます。これをAjaxで動作するように変更して、ページを更新する必要がないようにするにはどうすればよいですか。さらに詳しい情報が必要な場合はお知らせください。

4

2 に答える 2

1

ID が割り当てられた で結果をラップしDIV、URL を変更して JavaScript 関数を指すようにする必要があります ( jQueryをお勧めします)。関数は、その div に表示されるデータを取得する必要があります。

例えば:

<div id="results">
</div> 

<?php
    for ($i=1; $i<=$total_pages; $i++) { 
        echo "<a href='?page=".$i."' onclick="getPage('".$i."'); return false;">".$i."</a> ";
    }; 
?>

// and script

// the script asks result.php for page and returns html result.
<script type="text/javascript">
    function getPage(page){
        $("#results").load("result.php", { page: page } );
    }
</script>
于 2012-08-18T16:43:46.153 に答える
0

あなたがすることは、href 属性にあるものと同じものを使用して AJAX 呼び出しを行うことです。応答後、データを取得してページの html 要素に配置します。jQuery の loadメソッドを確認してください。


ああ、私たちの小さな動きを続けるためだけに。mysql_query() の使用をやめ、代わりに mysqli を使用するようにしてください。mysql は廃止され、サポートされなくなりました。:/

于 2012-08-18T16:42:14.547 に答える