'; echo 'console.log('. json_encode( $data ) .')'; echo ''; } //エリア個別ページ本体 require_once('../kanri/lib/const_lib.php'); require_once('../kanri/lib/neo_lib.php'); require_once("./modlue/config.php"); //エリア名.html を Rewrite で これ+パラメータを表示している //各種パラメータがなかったときはどうするか //とりあえず北海道 オールカテゴリ ホテル絞り込みなし にするのが妥当か //パラメータなしで来ることはないのでINDEXへリダイレクトする if(empty($_GET)){ header('Location: ./'); exit; } const AJAX_TARGET = "ajax-content.php"; //hokkaido | touhoku | kanto | tokyo | hokuriku | toukai | kinki | tyugoku | shikoku | kyushu //GETパラメータと一致 //北陸+甲信越 //九州+沖縄 $areaArr = [ "hokkaido" => "北海道", "touhoku" => "東北", "kanto" => "関東", "tokyo" => "東京23区", "hokuriku" => "北陸・甲信越", "toukai" => "東海", "kinki" => "近畿", "tyugoku" => "中国", "shikoku" => "四国", "kyushu" => "九州・沖縄" ]; //問い合わせ用SQL文 $sqlHotels = [ "hokkaido" => " WHERE A.pref_area_id = 1 and B.is_release = true ", "touhoku" => " WHERE A.pref_area_id = 2 and B.is_release = true ", "hokuriku" => " WHERE (A.pref_area_id = 3 OR A.pref_area_id = 4) and B.is_release = true ", "kanto" => " WHERE A.pref_area_id = 5 AND NOT address1 LIKE '東京都%区%' and B.is_release = true ", "tokyo" => " WHERE A.pref_area_id = 5 AND address1 LIKE '東京都%区%' and B.is_release = true ", "toukai" => " WHERE A.pref_area_id = 6 and B.is_release = true ", "kinki" => " WHERE A.pref_area_id = 7 and B.is_release = true ", "tyugoku" => " WHERE A.pref_area_id = 8 and B.is_release = true ", "shikoku" => " WHERE A.pref_area_id = 9 and B.is_release = true ", "kyushu" => " WHERE (A.pref_area_id = 10 OR A.pref_area_id = 11) and B.is_release = true " ]; //登録数表示用SQL文 $sqlAssingShops = [ "hokkaido" => " area = 1 ", "touhoku" => " area = 2 ", "hokuriku" => " (area = 3 OR area = 4) ", "kanto" => " area = 5 ", "tokyo" => " area = 5 ", //TODO 専用のクエリを使ったほうがいい "toukai" => " area = 6 ", "kinki" => " area = 7 ", "tyugoku" => " area = 8 ", "shikoku" => " area = 9 ", "kyushu" => " (area = 10 OR area = 11) " ]; $areaID = $_GET["area"]; $hotelGT = ""; if(!empty($_GET["hotel"])){ $hotelGT = $_GET["hotel"]; } $genreGT = ""; if(!empty($_GET["genre"])){ $genreGT = $_GET["genre"]; } //想定されるパラメータ以外はおかえりください if(!array_key_exists($areaID,$areaArr)){ header('Location: ./'); exit; } $connect = gfncConnectDb(); //ホテルデータ /*$hotelSQLTEMP = "SELECT hotel_id, hotel_name, B.ken_id, path, CASE WHEN shown is NULL THEN 'FALSE' ELSE shown END FROM tbl_hotel AS B INNER JOIN mst_todouhuken AS A ON B.ken_id = A.ken_id LEFT JOIN ( SELECT distinct regexp_split_to_table(hotels,',')::integer as hotelid, 'TRUE' as shown FROM tbl_syokutohaku WHERE $sqlAssingShops[$areaID] AND displaycode = 2 AND displaydate >= (CURRENT_DATE - interval'6 month') ) AS SH ON SH.hotelid = B.hotel_id $sqlHotels[$areaID] ORDER BY case shown When 'TRUE' THEN 1 end, A.pref_area_id ASC, A.ken_id ASC";*/ $hotelSQLTEMP = "SELECT hotel_id, hotel_name, B.ken_id, path, CASE WHEN shown is NULL THEN 'FALSE' ELSE shown END FROM tbl_hotel AS B INNER JOIN mst_todouhuken AS A ON B.ken_id = A.ken_id LEFT JOIN ( SELECT distinct regexp_split_to_table(hotels,',')::integer as hotelid, 'TRUE' as shown FROM tbl_syokutohaku WHERE $sqlAssingShops[$areaID] AND displaycode = 2 ) AS SH ON SH.hotelid = B.hotel_id $sqlHotels[$areaID] ORDER BY case shown When 'TRUE' THEN 1 end, A.pref_area_id ASC, A.ken_id ASC"; $raw = gfncExecQuery($connect,$hotelSQLTEMP); //登録数ここから $TEMP = "*"; if(!empty($areaID)){ $TEMP = $sqlAssingShops[$areaID] ." OR NULL"; } if($areaID === "tokyo"){ // 東京専用 $TOKYOSQL = "SELECT hotel_id FROM tbl_hotel WHERE ken_id::integer = 13 AND address1 LIKE '東京都%区%' ORDER BY hotel_id ASC"; $TOKYORAW = gfncExecQuery($connect,$TOKYOSQL); //東京に属するホテルリスト(生) $TEMP = ""; while(list($TE) = pg_fetch_array($TOKYORAW)){ $TEMP .= " $TE = any( string_to_array(hotels,',')::integer[] ) OR"; } $TEMP.= " NULL "; } if($areaID === "kanto"){ //関東専用うわぁ $TEMP = "(SELECT array_agg(hotel_id) FROM( SELECT hotel_name,hotel_id,pref_area_id FROM tbl_hotel INNER JOIN mst_todouhuken ON mst_todouhuken.ken_id = tbl_hotel.ken_id WHERE pref_area_id = 5 AND NOT address1 LIKE '%東京都%区%' ORDER BY hotel_id ASC )AS T) @> string_to_array(hotels,',')::integer[] OR NULL"; } $hotelItemSQL = "SELECT count($TEMP), count(*) FROM tbl_syokutohaku WHERE displaycode = 2 "; $cnt = gfncExecQuery($connect,$hotelItemSQL); list($shopcount,$shopcountall) = pg_fetch_array($cnt); //登録数ここまで ?>