-3

私は PHP が初めてで、ページにページネーション機能を追加したいと考えています。

私はこのコードを持っています:

$result = mysql_query( "select title from post LIMIT 5 OFFSET 0");
while ($row = mysql_fetch_object($result)) {
    echo $row->title;
}

ページごとに 5 つの投稿タイトルのみを表示したいと思います。このページにポケットベルを追加したい場合、どうすればよいですか? 例: URL はexample.com/post.htmlです。

4

2 に答える 2

1

探しているページを示すパラメーターをクエリ文字列で使用できます。

たとえば、example.com/post.html?page=2 は、誰かが 2 番目のページへのリンクをクリックしたことを意味します。

そして、コードで次のようなことができます。

$rowsPerPage = 5;
$page = isset($_GET['page']) ? $_GET['page'] : '0';
$index = $page * $rowsPerPage;
$result = mysql_query( 'select title from post LIMIT ' . $index . ', ' . $rowsPerPage);
while ($row = mysql_fetch_object($result)) {
   echo $row->title;
}

また、ページネーション リンクを印刷するには、レコードの総数を取得する必要があります。SELECT COUNT(*) FROM POST を使用して行の合計を取得できます。次に、表示するページ数を計算する必要があります。

これがお役に立てば幸いです

于 2012-12-08T12:11:01.973 に答える
0

オフセットを動的にする必要があるだけなので、最初のページは 0、2 番目のページは 5、3 番目のページは 10 のようになります。GET プロトコルを使用して、各ページ付けでオフセットを URL に送信できます。

<a href="example.com/post.html?offset=0">1</a>
<a href="example.com/post.html?offset=5">2</a>
<a href="example.com/post.html?offset=10">3</a>

明らかに、for ループを使用してページネーション リンクを動的に生成します。式は (OFFSET= (num_pag-1) * LIMIT) です。

次に、PHPは次のよ​​うになります。

$offset = $_GET['offset'];
$result = mysql_query( "select title from post LIMIT 5 OFFSET $offset");
于 2012-12-08T12:02:00.017 に答える