|
<?php
define('API_KEY', '取得したAPIキーを指定してください');
define('AREA_XML_FILE', 'エリアファイル名の場所を指定してください');
/**
* じゃらんWebサービスに接続する
*
* @param string メソッド名
* @param array その他のリクエストオプション
*/
function request_jalan($uri, $options = array())
{
$url = 'http://jws.jalan.net/' . $uri;
$options['key'] = API_KEY;
if ($options) {
foreach ($options as $key => $val) {
if ($val) {
$str_params []= sprintf('%s=%s', $key, urlencode($val));
}
}
$url = sprintf('%s?%s', $url, implode('&', $str_params));
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,
CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
$response = curl_exec($ch);
$response = preg_replace('/<Results xmlns="jws">/', '<Results>', $response);
curl_close($ch);
$result = simplexml_load_string($response);
if (! $result) {
return false;
}
return $result;
}
/**
* じゃらん温泉検索APIに接続する
*
* @param array その他のリクエストオプション
*/
function request_jalan_onsen($options = array())
{
return request_jalan('APICommon/OnsenSearch/V1/', $options);
}
// エリア情報を解析する
$area = array();
if (file_exists(AREA_XML_FILE)) {
$area = @simplexml_load_file(AREA_XML_FILE);
}
$result = array();
if (isset($_GET['search'])) {
unset($_GET['search']);
$options = array();
foreach ($_GET as $key => $val) {
$options[$key] = $val;
}
$result = request_jalan_onsen($options);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>じゃらんWebサービスを使っていろいろな条件から日本中の温泉を検索してみよう</title>
<style text="text/css">
table { border: 1px solid gray; border-collapse: collapse; margin: 15px; width: 200px; height: 400px; float: left; }
table th, table td { border: 1px solid gray; text-align: center; }
div.center { text-align: center; }
.result { width: 250px; }
</style>
</head>
<body style="text-align: center;">
<h2>じゃらんWebサービスを使っていろいろな条件から日本中の温泉を検索してみよう</h2>
<p>エリア条件は必ずいずれかを選択して、「検索」ボタンをクリックしてください。</p>
<form action="jalan_onsen.php" class="search">
<?php if ($area): ?>
広域エリア:
<select name="reg">
<option value="0">全国</option>
<?php foreach ($area->Area->Region as $region): ?>
<?php $selected = (isset($_GET['reg']) && $_GET['reg'] == $region['cd']) ? "selected" : "" ?>
<option value="<?php echo $region['cd'] ?>" <?php echo $selected ?>>
<?php echo $region['name'] ?>
</option>
<?php endforeach; ?>
</select>
都道府県エリア:
<select name="pref">
<option value="0">選択なし</option>
<?php foreach ($area->Area->Region as $region): ?>
<?php foreach ($region->Prefecture as $pref): ?>
<?php $selected = (isset($_GET['pref']) && $_GET['pref'] == $pref['cd']) ? "selected" : "" ?>
<option value="<?php echo $pref['cd'] ?>" <?php echo $selected ?>><?php echo $pref['name'] ?></option>
<?php endforeach; ?>
<?php endforeach; ?>
</select>
<br>
大エリア:
<select name="l_area">
<option value="0">選択なし</option>
<?php foreach ($area->Area->Region as $region): ?>
<?php foreach ($region->Prefecture as $pref): ?>
<?php foreach ($pref->LargeArea as $larea): ?>
<?php $selected = (isset($_GET['l_area']) && $_GET['l_area'] == $larea['cd']) ? "selected" : "" ?>
<option value="<?php echo $larea['cd'] ?>" <?php echo $selected ?>><?php echo $larea['name'] ?></option>
<?php endforeach; ?>
<?php endforeach; ?>
<?php endforeach; ?>
</select>
小エリア:
<select name="s_area">
<option value="0">選択なし</option>
<?php foreach ($area->Area->Region as $region): ?>
<?php foreach ($region->Prefecture as $pref): ?>
<?php foreach ($pref->LargeArea as $larea): ?>
<?php foreach ($larea->SmallArea as $sarea): ?>
<?php $selected = (isset($_GET['s_area']) && $_GET['s_area'] == $sarea['cd']) ? "selected" : "" ?>
<option value="<?php echo $sarea['cd'] ?>" <?php echo $selected ?>><?php echo $sarea['name'] ?></option>
<?php endforeach; ?>
<?php endforeach; ?>
<?php endforeach; ?>
<?php endforeach; ?>
</select>
<?php endif; ?>
<br><br>
泉質:<select name="onsen_q">
<option value="0">絞り込まない</option>
<option value="1">単純温泉</option>
<option value="2">アルカリ単純泉</option>
<option value="3">単純炭酸泉</option>
<option value="4">弱アルカリ性低張性泉</option>
<option value="5">中性低張性高温泉</option>
<option value="6">塩化物泉</option>
<option value="7">ナトリウム塩化物泉</option>
<option value="8">炭酸水素塩泉</option>
<option value="9">炭酸鉄泉</option>
<option value="10">硫酸塩泉</option>
<option value="11">二酸化炭素泉</option>
<option value="12">含鉄泉</option>
<option value="13">含銅一鉄泉</option>
<option value="14">硫黄泉</option>
<option value="15">酸性泉</option>
<option value="16">含アルミニウム泉</option>
<option value="17">放射能泉</option>
<option value="18">鉱泉</option>
<option value="99">その他</option>
</select>
<br>
<input type="submit" name="search" value="検索する">
</form>
<?php if ($result): ?>
<?php foreach ($result->Onsen as $onsen): ?>
<table>
<tr>
<td><a href="<?php echo $onsen->OnsenAreaURL ?>"><?php echo $onsen->OnsenName ?></a></td>
</tr>
<tr>
<td><?php echo $onsen->OnsenAddress ?></td>
</tr>
<tr>
<td><?php echo $onsen->NatureOfOnsen ?></td>
</tr>
</table>
<?php endforeach; ?>
<?php endif; ?>
<br clear="both">
<hr>
<a href="http://jws.jalan.net/"><img src="http://jws.jalan.net/content/images/jws_88_50_blue.gif" alt="じゃらん Web サービス" title="じゃらん Web サービス" border="0"></a>
</body>
</html>
|