0

私はphpの初心者ですので、これが不十分な質問である場合は申し訳ありませんが、頭から離れないこの問題を解決する方法を本当に知りたいです.

すべての動的サイトには、ニュース記事やその他の種類のユーザー生成などの機能があり、それらをボックス化されたコンテンツと呼ぶことができます. ページを閲覧すると、ページの下部に指定された数の記事が表示され、古い記事を表示するために使用できるページ番号または矢印があることがわかります。

これに似たものをphpで作るプロセスに興味があります。すべてのサイトがユニークであることを知っているので、すぐに使えるコードを探しているわけではありませんが、アルゴリズムを学びたいと思っています。これを解決する論理構造を探しています。

つまり、たとえば、ページに表示されるニュース記事(ボックス化されたコンテンツ)の最大数を設定したいとします。ループでこれを行うことができると思います。単一のページではそれほど難しいことではありませんが、約300の記事があり、最初のページに最新の10を表示したい場合、ユーザーが2番目のページ/次の矢印をクリックすると、他の10が読み込まれます。古い記事など

私の理論は、2番目のページリンクをクリックすると、記事の読み込みフォームで使用したmysqlクエリで使用される変数を変更するphpコードを投稿するため、記事/ボックス化されたコンテンツを別の開始IDから読み込みます(つまり2. ページ リンクをクリックすると 0 ではなく 10、3. ページ リンクをクリックすると 20 になります)。ループが開始され、次の (前の) 10 個の記事がロードされます。

最新の記事は常に最高の ID を持っているため、データベースでは記事 ID を取得するときに逆算する必要があることはわかっていますが、説明のために、上記の例の方が理解しやすく、やりたいことを示すことができます。

私の理論は完全に間違っている可能性が高いですが、これまでの私の考えを共有したいと思います.

無能な質問で申し訳ありませんが、この問題について一言いただければ幸いです。

4

2 に答える 2

2

これを行う方法は、取得する行の開始行数と最大行数の 2 つのパラメーターを持つMySQL limit 句を利用することです。あなたの例では、それはlimit *page_number* * 10, 10. または、 PHPで同じ目標を達成することもできますが、SQL でデータを操作するという面倒な作業を続けることをお勧めします。

于 2013-02-03T01:01:15.900 に答える
0

mysql_query("SELECT * FROM myAritcleTableName ORDER BY primaryKeyTableName DESC"); // php コード

于 2013-02-03T00:58:54.613 に答える