teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードの「前のページへ」と「次のページへ」のリンク設定のコードをechoからprintに変えました。

2018/08/12 05:20

投稿

spcl
spcl

スコア19

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>