回答編集履歴
2
追加
answer
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
method=GET版
|
1
2
|
```PHP
|
2
3
|
|
3
4
|
<html>
|
@@ -95,4 +96,116 @@
|
|
95
96
|
```
|
96
97
|
|
97
98
|
$key = '';
|
98
|
-
の部分だけを自分のにすれば動くPOSTかGETかわかんないからGETにした
|
99
|
+
の部分だけを自分のにすれば動くPOSTかGETかわかんないからGETにした
|
100
|
+
|
101
|
+
追記 2016/08/17 12:11
|
102
|
+
method=POST版
|
103
|
+
```
|
104
|
+
PHP
|
105
|
+
<?php
|
106
|
+
session_start();
|
107
|
+
?>
|
108
|
+
<html>
|
109
|
+
<head>
|
110
|
+
<title>API_SAMPLE2</title>
|
111
|
+
<style>
|
112
|
+
.current {
|
113
|
+
font-weight: bold;
|
114
|
+
}
|
115
|
+
</style>
|
116
|
+
</head>
|
117
|
+
<body>
|
118
|
+
<form method="POST">
|
119
|
+
<input type="text" name="keyword">
|
120
|
+
<select name="budget">
|
121
|
+
<option value="B001">〜2000円</option>
|
122
|
+
<option value="B002">2001円〜3000円</option>
|
123
|
+
<option value="B003">3001円〜4000円</option>
|
124
|
+
</select>
|
125
|
+
<input type="submit" name="search" value="検索" onFocus="this.select()">
|
126
|
+
|
127
|
+
|
128
|
+
<?php
|
129
|
+
if(isset($_GET["page"]) || isset($_POST["search"])){
|
130
|
+
if(isset($_POST["search"])){
|
131
|
+
unset($_SESSION["budget"]);
|
132
|
+
unset($_SESSION["keyword"]);
|
133
|
+
$_SESSION["budget"] =$_POST["budget"];
|
134
|
+
$_SESSION["keyword"] =$_POST["keyword"];
|
135
|
+
$page=1;
|
136
|
+
}else{
|
137
|
+
$page=$_GET ["page"];
|
138
|
+
}
|
139
|
+
$key = '33e69b320cee12b3';
|
140
|
+
$count = '50';
|
141
|
+
$start = 1 + ($page - 1) * 10;
|
142
|
+
$budget = $_SESSION["budget"];
|
143
|
+
$keyword = $_SESSION["keyword"];
|
144
|
+
$format = 'xml';
|
145
|
+
$url = 'http://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key=' . $key . '&count=' . $count . '&start=' . $start . '&keyword=' . $keyword . '&budget=' . $budget . '&format=' . $format;
|
146
|
+
$xml = simplexml_load_file ( $url );
|
147
|
+
$total_count = $xml->results_available;
|
148
|
+
$limit = ceil ( $total_count / $count ); // 最大ページ数
|
149
|
+
function paging($limit, $page, $disp = 5) {
|
150
|
+
global $budget;
|
151
|
+
global $keyword;
|
152
|
+
// $dispはページ番号の表示数
|
153
|
+
$next = $page + 1;
|
154
|
+
$prev = $page - 1;
|
155
|
+
// ページ番号リンク用
|
156
|
+
$start = ($page - floor ( $disp / 2 ) > 0) ? ($page - floor ( $disp / 2 )) : 1; // 始点
|
157
|
+
// print $start;
|
158
|
+
$end = ($start > 1) ? ($page + floor ( $disp / 2 )) : $disp; // 終点
|
159
|
+
$start = ($limit < $end) ? $start - ($end - $limit) : $start; // 始点再計算
|
160
|
+
|
161
|
+
if ($page != 1) {
|
162
|
+
print '<a name="paging" href="?page=' . $prev .'">« 前へ</a>';
|
163
|
+
}
|
164
|
+
// 最初のページへのリンク
|
165
|
+
if ($start >= floor ( $disp / 2 )) {
|
166
|
+
print '<a name="paging" href="?page=1">1</a>';
|
167
|
+
if ($start > floor ( $disp / 2 ))
|
168
|
+
print "..."; // ドットの表示
|
169
|
+
}
|
170
|
+
for($i = $start; $i <= $end; $i ++) { // ページリンク表示ループ
|
171
|
+
|
172
|
+
$class = ($page == $i) ? ' class="current"' : ""; // 現在地を表すCSSクラス
|
173
|
+
|
174
|
+
if ($i <= $limit && $i > 0) // 1以上最大ページ数以下の場合
|
175
|
+
print '<a name="paging" href="?page=' . $i . '"' . $class . '>' . $i . '</a>'; // ページ番号リンク表示
|
176
|
+
}
|
177
|
+
// 最後のページへのリンク
|
178
|
+
if ($limit > $end) {
|
179
|
+
if ($limit - 1 > $end)
|
180
|
+
print "..."; // ドットの表示
|
181
|
+
print '<a name="paging" href="?page=' . $limit . '">' . $limit . '</a>';
|
182
|
+
}
|
183
|
+
if ($page < $limit) {
|
184
|
+
print '<a name="paging" href="?page=' . $next . '">次へ »</a>';
|
185
|
+
}
|
186
|
+
}
|
187
|
+
paging ( $limit, $page );
|
188
|
+
?>
|
189
|
+
<table border=1>
|
190
|
+
<tr>
|
191
|
+
<td></td>
|
192
|
+
<td>店名</td>
|
193
|
+
<td>住所</td>
|
194
|
+
</tr>
|
195
|
+
<?php
|
196
|
+
$l = 1;
|
197
|
+
foreach ( $xml->shop as $r ) {?>
|
198
|
+
<tr>
|
199
|
+
<td><?php echo $l+($page-1)*$count;?></td>
|
200
|
+
<td><?php echo $r->name;?></td>
|
201
|
+
<td><?php echo $r->address;?></td>
|
202
|
+
</tr>
|
203
|
+
<?php $l++;?>
|
204
|
+
<?}?>
|
205
|
+
</table>
|
206
|
+
<?php }?>
|
207
|
+
</form>
|
208
|
+
</body>
|
209
|
+
</html>
|
210
|
+
```
|
211
|
+
今度もコピペで動くようになっている
|
1
修正
answer
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
<?php
|
22
22
|
if(isset($_GET["page"]) || isset($_GET["search"])){
|
23
23
|
$page = empty ( $_GET ["page"] ) ? 1 : $_GET ["page"]; // ページ番号
|
24
|
-
$key = '';
|
24
|
+
$key = '33e69b320cee12b3';
|
25
25
|
$count = '50';
|
26
26
|
$start = 1 + ($page - 1) * 10;
|
27
27
|
$budget = $_GET ["budget"];
|
@@ -48,7 +48,7 @@
|
|
48
48
|
}
|
49
49
|
// 最初のページへのリンク
|
50
50
|
if ($start >= floor ( $disp / 2 )) {
|
51
|
-
print '<a name="paging" href="?page=1&budget=' . $budget . '">1</a>';
|
51
|
+
print '<a name="paging" href="?page=1&budget=' . $budget . '&keyword=' . $keyword . '">1</a>';
|
52
52
|
if ($start > floor ( $disp / 2 ))
|
53
53
|
print "..."; // ドットの表示
|
54
54
|
}
|