質問編集履歴
1
コードの「前のページへ」と「次のページへ」のリンク設定のコードをechoからprintに変えました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,14 +4,20 @@
|
|
4
4
|
ページネーションがうまく機能しません。
|
5
5
|
次のページを押下すると1ページ目と同じ内容が表示されます。
|
6
6
|
|
7
|
+
|
7
8
|
エラーはNotice: Undefined indexと表示されるので調べたところ
|
8
9
|
初回アクセス時と2回目以降のアクセスで処理を切り分けていないということっぽいのですが
|
9
10
|
解決方法が分かりません。
|
10
11
|
|
11
12
|
解決方法をご存知の方がいらっしゃいましたらご教授よろしくお願いいたします。
|
12
13
|
|
13
|
-
|
14
|
+
追記です。
|
15
|
+
少しコードを修正しました。
|
16
|
+
「前のページへ」と「次のページへ」のリンク設定のコードをechoからprintに変えました。
|
17
|
+
するとページ送りはうまく動きましたがエラーの表示は消えません。
|
14
18
|
|
19
|
+
新しいコードです。
|
20
|
+
|
15
21
|
```
|
16
22
|
<?php
|
17
23
|
require('dbconnect.php');
|
@@ -31,7 +37,98 @@
|
|
31
37
|
|
32
38
|
?>
|
33
39
|
|
40
|
+
|
34
41
|
<div id="menu_list">
|
42
|
+
|
43
|
+
|
44
|
+
<table class="menu_list">
|
45
|
+
<tr>
|
46
|
+
<th>商品管理ID</ht>
|
47
|
+
<th>カテゴリー</ht>
|
48
|
+
<th class="menu_name">商品名</ht>
|
49
|
+
<th>価格</ht>
|
50
|
+
<th class="menu_remarks">備考</ht>
|
51
|
+
<th>編集</ht>
|
52
|
+
<th>削除</ht>
|
53
|
+
</tr>
|
54
|
+
<?php
|
55
|
+
|
56
|
+
$recodeSet = $mysqli->query('SELECT * FROM menu ORDER BY id LIMIT '.$start.',5');
|
57
|
+
|
58
|
+
while($table = mysqli_fetch_assoc($recodeSet)){
|
59
|
+
|
60
|
+
?>
|
61
|
+
|
62
|
+
<tr>
|
63
|
+
<td class="menu_content"><?php echo(htmlspecialchars($table['id'])); ?></td>
|
64
|
+
<td class="menu_content"><?php echo(htmlspecialchars($table['kind'])); ?></td>
|
65
|
+
<td class="menu_content"><?php echo(htmlspecialchars($table['name'])); ?></td>
|
66
|
+
<td class="menu_content"><?php echo(htmlspecialchars($table['price'])); ?></td>
|
67
|
+
<td class="menu_content"><?php echo(htmlspecialchars($table['remarks'])); ?></td>
|
68
|
+
<td class="menu_content"><a href="update.php?id=<?php echo(htmlspecialchars($table['id'])); ?>">編集</a></td>
|
69
|
+
<td class="menu_content"><a href="delete.php?id=<?php echo(htmlspecialchars($table['id'])); ?>" onclick="return confirmation();">削除</a></td>
|
70
|
+
</tr>
|
71
|
+
|
72
|
+
|
73
|
+
<?php
|
74
|
+
}
|
75
|
+
?>
|
76
|
+
|
77
|
+
</table>
|
78
|
+
|
79
|
+
<ul class="paging">
|
80
|
+
<?php
|
81
|
+
if($page > 1){
|
82
|
+
?>
|
83
|
+
<li><a href="index.php?page=<?php print($page - 1); ?>">前のページ</a></li>
|
84
|
+
<?php
|
85
|
+
} else {
|
86
|
+
?>
|
87
|
+
|
88
|
+
<?php
|
89
|
+
}
|
90
|
+
?>
|
91
|
+
<?php
|
92
|
+
if($page < $maxPage){
|
93
|
+
?>
|
94
|
+
<li><a href="index.php?page=<?php print($page + 1); ?>">次のページ</a></li>
|
95
|
+
<?php
|
96
|
+
} else {
|
97
|
+
?>
|
98
|
+
|
99
|
+
<?php
|
100
|
+
}
|
101
|
+
?>
|
102
|
+
</ul>
|
103
|
+
|
104
|
+
<a href="http://localhost/menu/input.php">商品登録</a>
|
105
|
+
<a href="http://localhost/menu/menu-retrieval.php">カテゴリー別一覧</a>
|
106
|
+
</div>
|
107
|
+
```
|
108
|
+
|
109
|
+
↓↓↓はechoからprintに変える前のコードです。
|
110
|
+
|
111
|
+
|
112
|
+
```
|
113
|
+
<?php
|
114
|
+
require('dbconnect.php');
|
115
|
+
|
116
|
+
$page = $_REQUEST['page'];
|
117
|
+
if($page ==''){
|
118
|
+
$page = 1 ;
|
119
|
+
}
|
120
|
+
$page = max($page, 1);
|
121
|
+
|
122
|
+
//最終ページを取得
|
123
|
+
$cnt = $mysqli->query('SELECT COUNT(*) AS cnt FROM menu');
|
124
|
+
$table = mysqli_fetch_assoc($cnt);
|
125
|
+
$maxPage = ceil($table['cnt'] / 5);
|
126
|
+
$page = min($page, $maxPage);
|
127
|
+
$start = ($page - 1) * 5;
|
128
|
+
|
129
|
+
?>
|
130
|
+
|
131
|
+
<div id="menu_list">
|
35
132
|
<table class="menu_list">
|
36
133
|
<tr>
|
37
134
|
<th>商品管理ID</ht>
|