回答編集履歴
4
実験方法について追記
test
CHANGED
@@ -32,4 +32,4 @@
|
|
32
32
|
|
33
33
|
```
|
34
34
|
|
35
|
-
このように、prepareを使ってページ番号をSQLに渡してやることで、何ページ目であってもこのSQLで対応可能というわけです。
|
35
|
+
このように、prepareを使ってページ番号をSQLに渡してやることで、何ページ目であってもこのSQLで対応可能というわけです。試しにこう処理を変えた後に、URLに直接「?page=1」や「?page=2」と追加してジャンプしてみてください。動作が確認できると思います。
|
3
5倍にする処理が抜けていたので修正
test
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
$stmt = $pdo->prepare("SELECT user_data.id,birth_year,birth_month,birth_day,pref,city,major_category,major_skill,cont_date,introduction FROM user_data,user_pr WHERE user_data.id=user_pr.user_id ORDER BY id DESC LIMIT ?, 5;");
|
30
30
|
|
31
|
-
$stmt->execute([$page]);
|
31
|
+
$stmt->execute([$page * 5]);
|
32
32
|
|
33
33
|
```
|
34
34
|
|
2
追記
test
CHANGED
@@ -20,8 +20,16 @@
|
|
20
20
|
|
21
21
|
そしたらSELECTのLIMITを使って「レコード全体の中から(ページ数*5)番目から5件引き出して表示」するだけです。例えば今は1ページに5件表示したいとのことですのでこんな感じになるでしょう。
|
22
22
|
|
23
|
-
```SQL
|
24
23
|
|
25
|
-
|
24
|
+
|
25
|
+
```PHP
|
26
|
+
|
27
|
+
$page = $_GET["page"];//pageというパラメータに現在のページが入っているものとする
|
28
|
+
|
29
|
+
$stmt = $pdo->prepare("SELECT user_data.id,birth_year,birth_month,birth_day,pref,city,major_category,major_skill,cont_date,introduction FROM user_data,user_pr WHERE user_data.id=user_pr.user_id ORDER BY id DESC LIMIT ?, 5;");
|
30
|
+
|
31
|
+
$stmt->execute([$page]);
|
26
32
|
|
27
33
|
```
|
34
|
+
|
35
|
+
このように、prepareを使ってページ番号をSQLに渡してやることで、何ページ目であってもこのSQLで対応可能というわけです。
|
1
SQL文に不要箇所があったので修正
test
CHANGED
@@ -22,6 +22,6 @@
|
|
22
22
|
|
23
23
|
```SQL
|
24
24
|
|
25
|
-
SELECT user_data.id,birth_year,birth_month,birth_day,pref,city,major_category,major_skill,cont_date,introduction FROM user_data,user_pr WHERE user_data.id=user_pr.user_id ORDER BY id DESC LIMIT page * 5, 5
|
25
|
+
SELECT user_data.id,birth_year,birth_month,birth_day,pref,city,major_category,major_skill,cont_date,introduction FROM user_data,user_pr WHERE user_data.id=user_pr.user_id ORDER BY id DESC LIMIT page * 5, 5
|
26
26
|
|
27
27
|
```
|