質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

Q&A

1回答

1062閲覧

for文で出力した<li><a><img>〜を、20個毎に分割してページネーションを表示させたい。

phper2525

総合スコア4

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

0グッド

1クリップ

投稿2020/01/18 16:56

【php】for文で出力した<li><a><img>〜を、20個毎に分割してページネーションを表示させたい。

phpのfor文で、<li><a><img>〜を100個出力するコードがあります。

出力されたタグリストを20個毎にページ分割して、ページネーションを設置したいのですがどういう記述をすれば表示されるのでしょうか?

この記事ページのURLが"http://sample.com/archive/1234"だった場合、
ページ分割した時の2ページ目が、"http://sample.com/archive/1234/2"、
3ページ目が、"http://sample.com/archive/1234/3"
というURLにしたいです。

phpに詳しい方、宜しくお願い致します。

発生している問題・エラーメッセージ

ページングの作り方が分からない。。。

該当のソースコード

PHP

1<?php 2 3$add_number = 100; 4 5for($i = 0; $i < $add_number; $i++){ 6$in = ($i)+1; 7echo <<< EOF 8<li><a href="/image/picture/{$in}.jpg" /><img src="/image/picture/{$in}.jpg" /></a></li> 9EOF; 10} 11 12?>

試したこと

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/01/18 23:20

>sample.com 実在のものではなく例示ドメインを利用してください。
m.ts10806

2020/01/18 23:21

そもそも、現在 /archive/1234/ で表示できてますか?
phper2525

2020/01/19 02:19

すみません、例示ドメインです。 http://test2525.com/ 記事ページは /archives/1234で表示出来てます。
m.ts10806

2020/01/19 03:06 編集

例示ドメインは下記です。 https://ja.m.wikipedia.org/wiki/Example.com その記事ページの表示ってWordPressでは? 質問編集できます。自身の環境も含めて質問本文調整してください。 WordPressなのであればそもそも自分でガッツリ組む必要ないと思います
guest

回答1

0

色んな前提が必要なのでその前提も踏まえると下記のようになるかと思います。

  • /archive/1234/でアクセスするためには.htaccessでの設定が必要。css,js,imgなど直接参照するファイル以外のURIは/index.phpにアクセスするように。
  • そこからREQUEST URIの解析を行い、それによって使うプログラム(コントローラなど)を振り分ける(ルーティング)
  • そのうえで、データの取得を行う
  • データの取得はそもそも1ページに表示したい件数しか取得しない。今やろうとしているように全件取得して1部だけ切り出すのはページングの利点がほとんどない
  • x件目からn件取得という形にする「x件目から」は/archive/1234/{p}{p}によって計算する。指定がなければ暫定で1。計算手法は調べれば出てきます。
  • 基本は「全件数」と「1ページに何件表示したいか」「今何ページ目か」で計算可能。

細かいところ省いたりしていますが、ざっとこんな感じ。
つまり、構造から作り直しです。

投稿2020/01/19 00:01

編集2020/01/19 00:05
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問