質問編集履歴

6

書式の修正

2015/06/27 12:49

投稿

gik
gik

スコア152

test CHANGED
File without changes
test CHANGED
@@ -275,3 +275,31 @@
275
275
  そこのところ、もう少しわかりやすく教えてください
276
276
 
277
277
  よろしくお願います
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+ pageには、page番号ではなく表示開始件数が入ります。
286
+
287
+ っと書いてありますが、すいません。その記述はどこにあるのでしょうか?
288
+
289
+ ```lang-<php>
290
+
291
+ $sql = "select * from item
292
+
293
+ left join author on item.author_id = author.author_id
294
+
295
+ where $where order by " . mysql_real_escape_string( $_GET['sort'] ) . " limit ${_GET['page']}, ${_GET['rows']}";
296
+
297
+ $result2 = mysql_query( $sql );
298
+
299
+ ```
300
+
301
+
302
+
303
+ この部分も教えてください。
304
+
305
+ すいません。

5

書式の改善

2015/06/27 12:49

投稿

gik
gik

スコア152

test CHANGED
File without changes
test CHANGED
@@ -188,7 +188,7 @@
188
188
 
189
189
  この$_GET['page']はページ数のみgetするのはないのですか?
190
190
 
191
- つまりたとえば$_GET['page'] + $_GET['rows']で1ページ目は21件まで、
191
+ つまりたとえば$_GET['page'] + $_GET['rows']で1ページ目は20件、2ページ目1件まで、
192
192
 
193
193
  $_GET['page']で2をゲットしたら22件ではないのですか?
194
194
 

4

書式の改善

2015/06/25 16:27

投稿

gik
gik

スコア152

test CHANGED
File without changes
test CHANGED
@@ -84,6 +84,10 @@
84
84
 
85
85
 
86
86
 
87
+
88
+
89
+
90
+
87
91
  ?>
88
92
 
89
93
  <? require( 'header.php' ) ?>
@@ -156,82 +160,118 @@
156
160
 
157
161
  教えてください。
158
162
 
159
- よろしくお願いします。
163
+ `
160
-
161
-
162
-
163
- 特に下の部分がなにをしているのかよくわかりません
164
+
164
-
165
+
166
+
165
- ```lang-<php>
167
+ ```lang-<php>
168
+
166
-
169
+ /*
170
+
167
- $delta = 3 * $_GET['rows'];
171
+ * 変数eは 表示開始件数 + delta がnum_rowsより上回る時に最大件数
172
+
168
-
173
+ *(一番最後のページリンクを作るため)
174
+
169
-
175
+ * 上回る時には表示開始件数 + delta
170
-
176
+
171
- if ( $_GET['page'] - $delta < 0 ) $s = 0; else $s = $_GET['page'] - $delta;
177
+ * これは、現在のページより2ページ次のページまでページリンクを表示させたい為
178
+
179
+ */
172
180
 
173
181
  if ( $_GET['page'] + $delta > $num_rows ) $e = $num_rows; else $e = $_GET['page'] + $delta;
174
182
 
175
183
 
176
184
 
177
-
185
+ ```
186
+
187
+ この部分で表示開始件数がわからないです。
188
+
189
+ この$_GET['page']はページ数のみgetするのはないのですか?
190
+
191
+ つまりたとえば$_GET['page'] + $_GET['rows']で1ページ目は21件まで、
192
+
193
+ $_GET['page']で2をゲットしたら22件ではないのですか?
194
+
195
+ $_GET['page']が表示開始件数を手にしている部分はどこですか?
196
+
197
+
198
+
199
+ ```lang-<php>
200
+
201
+ <?php /* 表示開始件数が表示件数を上回る場合に戻るリンクを表示させます。*/ ?>
202
+
203
+ <? if ( $_GET['page'] >= $_GET['rows'] ) { ?>
204
+
205
+ <?php
206
+
207
+ /*
208
+
209
+ * 現在の検索結果を引き継ぎたいのでとりあえずGETパラメータは全て入れる。
210
+
211
+ * 以下のURLを表示させます。
212
+
213
+ * result.php?page=[表示開始件数 - 表示件数]&rows=[表示件数]&author_id=[その他id]& category_id=[カテゴリID]&query=[商品名の一部か全部]&sort=[表示順]
214
+
215
+ */
178
216
 
179
217
  ?>
180
218
 
181
- <? require( 'header.php' ) ?>
182
-
183
- <? require( 'topbar.php' ) ?>
184
-
185
- <div align="center">
186
-
187
- <h2>検索結果<?= $num_rows ?>件中<?= $_GET['page'] + 1 ?>件から<?= $_GET['page'] + $_GET['rows'] ?>件までを表示</h2>
188
-
189
- <table>
190
-
191
- <? while ( $item = mysql_fetch_array( $result2 ) ) { ?>
192
-
193
- <tr>
194
-
195
- <td>
196
-
197
- <a href="item.php?item_id=<?= $item['item_id'] ?>"><img src="<?= $item['image_url'] ?>" width=90 alt="<?= $item['item_name'] ?>" align="top" border=0></a>
198
-
199
- </td>
200
-
201
- <td>
202
-
203
- <a href="item.php?item_id=<?= $item['item_id'] ?>"><?= $item['item_name'] ?> <?= $item['author_name'] ?></a><br>
204
-
205
- 価格 <?= $item['sale_price'] ?> 円(税込み)
206
-
207
- </td>
208
-
209
- </tr>
210
-
211
- <? } ?>
212
-
213
- </table>
214
-
215
- <? if ( $_GET['page'] >= $_GET['rows'] ) { ?>
216
-
217
219
  <a href="result.php?page=<?= $_GET['page'] - $_GET['rows'] ?>&rows=<?= $_GET['rows'] ?>&author_id=<?= $_GET['author_id'] ?>&category_id=<?= $_GET['category_id'] ?>&query=<?= $_GET['query'] ?>&sort=<?= $_GET['sort'] ?>">前のページ&nbsp;</a>
218
220
 
219
221
  <? } ?>
220
222
 
221
- <? for ( $m = $s; $m <= $e; $m = $e++ ) { ?>
222
-
223
- <a href="result.php?page=<?= $m ?>&rows=<?= $_GET['rows'] ?>&author_id=<?= $_GET['author_id'] ?>&category_id=<?= $_GET['category_id'] ?>&query=<?= $_GET['query'] ?>&sort=<?= $_GET['sort'] ?>">
224
-
225
- <? if ( $m == $_GET['page'] ) echo "<big><b>" . $m / $_GET['rows'] . "</b></big>"; else echo $m / $_GET['rows'] ?></a>
226
-
227
- <? } ?>
223
+ <!-- 戻るリンクの表示終了。 -->
224
+
225
+
226
+
227
+ ```
228
+
229
+ 表示開始件数と$_GET['page']がよくわかりません。
230
+
231
+ <?= $_GET['page'] - $_GET['rows'] ?>にするとマイナスになってしまうのでは?
232
+
233
+
234
+
235
+ ```lang-<php>
236
+
237
+ <?php /*最大表示件数が表示開始件数を上回る場合に進むリンクを表示させます。*/ ?>
228
238
 
229
239
  <? if ( $num_rows > $_GET['page'] + 1 ) { ?>
230
240
 
241
+ <?php
242
+
243
+ /*
244
+
245
+ * 現在の検索結果を引き継ぎたいのでとりあえずGETパラメータは全て入れる。
246
+
247
+ * 以下のURLを表示させます。
248
+
249
+ * result.php?page=[表示開始件数 + 表示件数]&rows=[表示件数]&author_id=[その他id]& category_id=[カテゴリID]&query=[商品名の一部か全部]&sort=[表示順]
250
+
251
+ */
252
+
253
+ ?>
254
+
231
255
  <a href="result.php?page=<?= $_GET['page'] + $_GET['rows'] ?>&rows=<?= $_GET['rows'] ?>&author_id=<?= $_GET['author_id'] ?>&category_id=<?= $_GET['category_id'] ?>&query=<?= $_GET['query'] ?>&sort=<?= $_GET['sort'] ?>">&nbsp;次のページ</a>
232
256
 
233
257
  <? } ?>
234
258
 
259
+ <!-- 進むリンクの表示終了。 -->
260
+
235
261
  <? require( 'footer.php' ) ?>
236
262
 
237
263
  ```
264
+
265
+
266
+
267
+ 表示開始件数の意味と
268
+
269
+ $_GET['page']がページ数のみgetしていると思っていたのがもしかして
270
+
271
+ 間違った解釈を私していると思うんです。
272
+
273
+ 申し訳ありません。
274
+
275
+ そこのところ、もう少しわかりやすく教えてください
276
+
277
+ よろしくお願います

3

書式の変更

2015/06/25 16:23

投稿

gik
gik

スコア152

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,4 @@
1
- ?
1
+ ```lang-<php>
2
-
3
-
4
2
 
5
3
  // result.php
6
4
 
@@ -144,6 +142,10 @@
144
142
 
145
143
  <? require( 'footer.php' ) ?>
146
144
 
145
+ ```?
146
+
147
+
148
+
147
149
 
148
150
 
149
151
  PHPによるECサイトプログラミング~ショッピングカートから決済まで―MySQLのデータベース設計とPHPセッション管理の作法
@@ -160,7 +162,7 @@
160
162
 
161
163
  特に下の部分がなにをしているのかよくわかりません
162
164
 
163
-
165
+ ```lang-<php>
164
166
 
165
167
  $delta = 3 * $_GET['rows'];
166
168
 
@@ -231,3 +233,5 @@
231
233
  <? } ?>
232
234
 
233
235
  <? require( 'footer.php' ) ?>
236
+
237
+ ```

2

書式の変更

2015/06/25 10:51

投稿

gik
gik

スコア152

test CHANGED
File without changes
test CHANGED
@@ -156,7 +156,11 @@
156
156
 
157
157
  よろしくお願いします。
158
158
 
159
+
160
+
159
- 特に
161
+ 特に下の部分がなにをしているのかよくわかりません
162
+
163
+
160
164
 
161
165
  $delta = 3 * $_GET['rows'];
162
166
 
@@ -227,7 +231,3 @@
227
231
  <? } ?>
228
232
 
229
233
  <? require( 'footer.php' ) ?>
230
-
231
- の部分がさっぱりわかりません。
232
-
233
- よろしくお願いします

1

書式修正

2015/06/25 10:00

投稿

gik
gik

スコア152

test CHANGED
File without changes
test CHANGED
@@ -226,4 +226,8 @@
226
226
 
227
227
  <? } ?>
228
228
 
229
+ <? require( 'footer.php' ) ?>
230
+
229
- の部分です
231
+ の部分がさっぱりわかりません
232
+
233
+ よろしくお願いします