ページの下にリストされた記事を内容とするウェブサイトを作成しています。ブログスタイルを考えてみてください。しかし、私は50ページの記事を1ページに表示するのはちょっとばかげていると思うので、それを自動的にページに分割する最良の方法はなんですか?ページングされたインターフェイスを設計するための最良の方法
PHPとMySQLを使用してデータベースから記事を取得しています。
ページの下にリストされた記事を内容とするウェブサイトを作成しています。ブログスタイルを考えてみてください。しかし、私は50ページの記事を1ページに表示するのはちょっとばかげていると思うので、それを自動的にページに分割する最良の方法はなんですか?ページングされたインターフェイスを設計するための最良の方法
PHPとMySQLを使用してデータベースから記事を取得しています。
混合し、他のものと一致させることができるカップルの提案。
ちょっとした思いです。何かを行う "最良の"方法は決してなく、文脈の中でより意味をなさない方法です。
総ページ数を取得するためにページごとの量によって、現在のカテゴリに
除算合計を記事の量をカウントします。 ID>(ページあたりPAGENUM *量)
のmysqlからページあたりの量で
セレクト記事、ナビゲーション用のリンクを作成します。
例のクエリは:
$sql = "SELECT * FROM articles ORDER BY date ASC LIMIT 0, 20"; // This will return the first 20
$sql = "SELECT * FROM articles ORDER BY date ASC LIMIT 40, 20"; // This will return 40-60
注:これは、将来の参照/検索用のページ付けと呼ばれています。良い例がたくさんありますし、これを処理するいくつかのフレームワークもあります。
シンプルなチュートリアル:http://www.phpfreaks.com/tutorial/basic-pagination
私は特にPHPでは動作しませんが、このようなことを行う一般的な戦略は、1ページあたりのアイテムの数とスキップするアイテムの数に基づいて動的に制限するクエリを設計することです。言い換えれば、あなたのSQLは次の行に沿っている:
$stmt = $mysqli->prepare("SELECT id, title, createdDate FROM tArticles ORDER BY createdDate desc LIMIT :skip, :itemsPerPage");
あなたはページ番号で、これを追跡している場合は、あなたの:スキップバインド・パラメータは、(0から始まる)現在のページ番号を取ることによって導出されます1ページあたりのアイテム数を掛けること。
バインドする前に変数を整数としてキャストする必要があるため、潜在的な一般的な落とし穴を回避するために、おそらくthe answer for this questionを見てください。
は私がBloggerはこれをしなかった方法について見ていたし、それは非常に興味深いものだった一度覚え
それはこのようなものだった:
post-timestamp
を持ってdisplay-per-page
(10-20のようなもの)post-timestamp
と 限界で検索を開始するあなたのDBの検索を行いますdisplay-per-page
display-per-page
ベストは少しあいまいです。一緒に検索の最後のポストの
post-timestamp
をリンク「次」を与えますそれによって特定のものを意味する場合は、明確にしてください。 – Ktash私はちょうどどんな方法を探していました。どこから始めたらいいか分からない。 – muttley91
CMSでWordpressを試してみてください。人気があり、コミュニティで多くのサポートを受けています。 – Relic