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

質問編集履歴

6

書式の修正

2015/06/27 12:49

投稿

gik
gik

スコア152

title CHANGED
File without changes
body CHANGED
@@ -136,4 +136,18 @@
136
136
  間違った解釈を私していると思うんです。
137
137
  申し訳ありません。
138
138
  そこのところ、もう少しわかりやすく教えてください
139
- よろしくお願います
139
+ よろしくお願います
140
+
141
+
142
+
143
+ pageには、page番号ではなく表示開始件数が入ります。
144
+ っと書いてありますが、すいません。その記述はどこにあるのでしょうか?
145
+ ```lang-<php>
146
+ $sql = "select * from item
147
+ left join author on item.author_id = author.author_id
148
+ where $where order by " . mysql_real_escape_string( $_GET['sort'] ) . " limit ${_GET['page']}, ${_GET['rows']}";
149
+ $result2 = mysql_query( $sql );
150
+ ```
151
+
152
+ この部分も教えてください。
153
+ すいません。

5

書式の改善

2015/06/27 12:49

投稿

gik
gik

スコア152

title CHANGED
File without changes
body CHANGED
@@ -93,7 +93,7 @@
93
93
  ```
94
94
  この部分で表示開始件数がわからないです。
95
95
  この$_GET['page']はページ数のみgetするのはないのですか?
96
- つまりたとえば$_GET['page'] + $_GET['rows']で1ページ目は21件まで、
96
+ つまりたとえば$_GET['page'] + $_GET['rows']で1ページ目は20、2ページ目1件まで、
97
97
  $_GET['page']で2をゲットしたら22件ではないのですか?
98
98
  $_GET['page']が表示開始件数を手にしている部分はどこですか?
99
99
 

4

書式の改善

2015/06/25 16:27

投稿

gik
gik

スコア152

title CHANGED
File without changes
body CHANGED
@@ -41,6 +41,8 @@
41
41
  if ( $_GET['page'] + $delta > $num_rows ) $e = $num_rows; else $e = $_GET['page'] + $delta;
42
42
 
43
43
 
44
+
45
+
44
46
  ?>
45
47
  <? require( 'header.php' ) ?>
46
48
  <? require( 'topbar.php' ) ?>
@@ -77,43 +79,61 @@
77
79
  という本を買って読んでいるのですが、
78
80
  このresult.phpのページング処理がよくわかりません。
79
81
  教えてください。
80
- よろしくお願いします。
82
+ `
81
83
 
82
- 特に下の部分がなにをしているのかよくわかりません
83
84
  ```lang-<php>
85
+ /*
84
- $delta = 3 * $_GET['rows'];
86
+ * 変数eは 表示開始件数 + delta がnum_rowsより上回る時に最大件数
85
-
87
+ *(一番最後のページリンクを作るため)
88
+ * 上回る時には表示開始件数 + delta
86
- if ( $_GET['page'] - $delta < 0 ) $s = 0; else $s = $_GET['page'] - $delta;
89
+ * これは、現在のページより2ページ次のページまでページリンクを表示させたい為
90
+ */
87
91
  if ( $_GET['page'] + $delta > $num_rows ) $e = $num_rows; else $e = $_GET['page'] + $delta;
88
92
 
93
+ ```
94
+ この部分で表示開始件数がわからないです。
95
+ この$_GET['page']はページ数のみgetするのはないのですか?
96
+ つまりたとえば$_GET['page'] + $_GET['rows']で1ページ目は21件まで、
97
+ $_GET['page']で2をゲットしたら22件ではないのですか?
98
+ $_GET['page']が表示開始件数を手にしている部分はどこですか?
89
99
 
100
+ ```lang-<php>
101
+ <?php /* 表示開始件数が表示件数を上回る場合に戻るリンクを表示させます。*/ ?>
102
+ <? if ( $_GET['page'] >= $_GET['rows'] ) { ?>
103
+ <?php
104
+ /*
105
+ * 現在の検索結果を引き継ぎたいのでとりあえずGETパラメータは全て入れる。
106
+ * 以下のURLを表示させます。
107
+ * result.php?page=[表示開始件数 - 表示件数]&rows=[表示件数]&author_id=[その他id]& category_id=[カテゴリID]&query=[商品名の一部か全部]&sort=[表示順]
108
+ */
90
109
  ?>
91
- <? require( 'header.php' ) ?>
92
- <? require( 'topbar.php' ) ?>
93
- <div align="center">
94
- <h2>検索結果<?= $num_rows ?>件中<?= $_GET['page'] + 1 ?>件から<?= $_GET['page'] + $_GET['rows'] ?>件までを表示</h2>
95
- <table>
96
- <? while ( $item = mysql_fetch_array( $result2 ) ) { ?>
97
- <tr>
98
- <td>
99
- <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>
100
- </td>
101
- <td>
102
- <a href="item.php?item_id=<?= $item['item_id'] ?>"><?= $item['item_name'] ?> <?= $item['author_name'] ?></a><br>
103
- 価格 <?= $item['sale_price'] ?> 円(税込み)
104
- </td>
105
- </tr>
106
- <? } ?>
107
- </table>
108
- <? if ( $_GET['page'] >= $_GET['rows'] ) { ?>
109
110
  <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>
110
111
  <? } ?>
111
- <? for ( $m = $s; $m <= $e; $m = $e++ ) { ?>
112
- <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'] ?>">
113
- <? if ( $m == $_GET['page'] ) echo "<big><b>" . $m / $_GET['rows'] . "</b></big>"; else echo $m / $_GET['rows'] ?></a>
114
- <? } ?>
112
+ <!-- 戻るリンクの表示終了。 -->
113
+
114
+ ```
115
+ 表示開始件数と$_GET['page']がよくわかりません。
116
+ <?= $_GET['page'] - $_GET['rows'] ?>にするとマイナスになってしまうのでは?
117
+
118
+ ```lang-<php>
119
+ <?php /*最大表示件数が表示開始件数を上回る場合に進むリンクを表示させます。*/ ?>
115
120
  <? if ( $num_rows > $_GET['page'] + 1 ) { ?>
121
+ <?php
122
+ /*
123
+ * 現在の検索結果を引き継ぎたいのでとりあえずGETパラメータは全て入れる。
124
+ * 以下のURLを表示させます。
125
+ * result.php?page=[表示開始件数 + 表示件数]&rows=[表示件数]&author_id=[その他id]& category_id=[カテゴリID]&query=[商品名の一部か全部]&sort=[表示順]
126
+ */
127
+ ?>
116
128
  <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>
117
129
  <? } ?>
130
+ <!-- 進むリンクの表示終了。 -->
118
131
  <? require( 'footer.php' ) ?>
119
- ```
132
+ ```
133
+
134
+ 表示開始件数の意味と
135
+ $_GET['page']がページ数のみgetしていると思っていたのがもしかして
136
+ 間違った解釈を私していると思うんです。
137
+ 申し訳ありません。
138
+ そこのところ、もう少しわかりやすく教えてください
139
+ よろしくお願います

3

書式の変更

2015/06/25 16:23

投稿

gik
gik

スコア152

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,4 @@
1
- ?
1
+ ```lang-<php>
2
-
3
2
  // result.php
4
3
 
5
4
  require( 'config.php' );
@@ -71,7 +70,9 @@
71
70
  <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>
72
71
  <? } ?>
73
72
  <? require( 'footer.php' ) ?>
73
+ ```?
74
74
 
75
+
75
76
  PHPによるECサイトプログラミング~ショッピングカートから決済まで―MySQLのデータベース設計とPHPセッション管理の作法
76
77
  という本を買って読んでいるのですが、
77
78
  このresult.phpのページング処理がよくわかりません。
@@ -79,7 +80,7 @@
79
80
  よろしくお願いします。
80
81
 
81
82
  特に下の部分がなにをしているのかよくわかりません
82
-
83
+ ```lang-<php>
83
84
  $delta = 3 * $_GET['rows'];
84
85
 
85
86
  if ( $_GET['page'] - $delta < 0 ) $s = 0; else $s = $_GET['page'] - $delta;
@@ -114,4 +115,5 @@
114
115
  <? if ( $num_rows > $_GET['page'] + 1 ) { ?>
115
116
  <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>
116
117
  <? } ?>
117
- <? require( 'footer.php' ) ?>
118
+ <? require( 'footer.php' ) ?>
119
+ ```

2

書式の変更

2015/06/25 10:51

投稿

gik
gik

スコア152

title CHANGED
File without changes
body CHANGED
@@ -77,7 +77,9 @@
77
77
  このresult.phpのページング処理がよくわかりません。
78
78
  教えてください。
79
79
  よろしくお願いします。
80
+
80
- 特に
81
+ 特に下の部分がなにをしているのかよくわかりません
82
+
81
83
  $delta = 3 * $_GET['rows'];
82
84
 
83
85
  if ( $_GET['page'] - $delta < 0 ) $s = 0; else $s = $_GET['page'] - $delta;
@@ -112,6 +114,4 @@
112
114
  <? if ( $num_rows > $_GET['page'] + 1 ) { ?>
113
115
  <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>
114
116
  <? } ?>
115
- <? require( 'footer.php' ) ?>
117
+ <? require( 'footer.php' ) ?>
116
- の部分がさっぱりわかりません。
117
- よろしくお願いします

1

書式修正

2015/06/25 10:00

投稿

gik
gik

スコア152

title CHANGED
File without changes
body CHANGED
@@ -112,4 +112,6 @@
112
112
  <? if ( $num_rows > $_GET['page'] + 1 ) { ?>
113
113
  <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>
114
114
  <? } ?>
115
+ <? require( 'footer.php' ) ?>
115
- の部分です
116
+ の部分がさっぱりわかりません
117
+ よろしくお願いします