data['id'] = $_GET['hospital_id']; $Hospital->data['sanitize']['id'] = sanitize($Hospital->data['id']); // 病院データ取得 $Hospital->get_data(); // 病院移転・統合・閉鎖フラグチェック 実装する場合コメントはずし /* if ($Hospital->data['change_flg']== '999999') { // 病院閉鎖フラグ } elseif ($Hospital->data['change_flg'] > 0) { header("HTTP/1.1 301 Moved Permanently"); header("Location: " . _DOMAIN_ROOT_ . 'clinic/h' . $Hospital->data['change_flg']); } */ // 病院データがない、または表示フラグた1じゃなければ404 if ($Hospital->data['vflg']!= '1') { header('Location: ' . _DOMAIN_ROOT_ . '404.php'); } // 病院地域のエリア情報配列の読み込み設定 $area_data = array( _SYS_ . 'page_hospital_array/area1.php', _SYS_ . 'page_hospital_array/prefecture' . $Hospital->data['prefecture_code_id'] . '.php', ); // 読み込み $Hospital->req_area_data($area_data); // その他必要データの取得 $Hospital->get_additional_data(); // googlemap等 VIEWに入れるテキストの生成 $Hospital->make_data_to_text(); if ($Hospital->data['station_cd']) { // 同一路線の病院データ取得 $Hospital->get_neighbors(); } if (isset($Hospital->data['yahoo_data']['lat']) && $Hospital->data['yahoo_data']['lat'] != '0.00000000000') { // 取得したい件数 $neighbors_num = 5; // 表示病院の緯度経度から近い順に取るため、必ず1番近い病院=表示病院として取得されるはず // なので取得したい件数に1足して先頭を削除 $neighbors_num = $neighbors_num + 1; $sql = "SELECT `id`, \n"; $sql .= " (SELECT SQRT( \n"; $sql .= " POWER(COS(RADIANS({$Hospital->data['yahoo_data']['lat']})) * 6378.137 * RADIANS(`lon` - {$Hospital->data['yahoo_data']['lon']}), 2) + \n"; $sql .= " POWER(6378.137 * RADIANS(`lat` - {$Hospital->data['yahoo_data']['lat']}), 2) \n"; $sql .= " ) \n"; $sql .= " ) AS `calc` \n"; $sql .= "FROM \n"; $sql .= " `api_add_data` \n"; $sql .= "WHERE \n"; $sql .= " `lon` <> '' \n"; $sql .= "AND \n"; $sql .= " `lat` <> '' \n"; $sql .= "AND \n"; $sql .= " `id` != '0' \n"; $sql .= "ORDER BY \n"; $sql .= " `calc` \n"; $sql .= "LIMIT {$neighbors_num} \n"; $result = DB::query($sql, _DB_CON_NAME_1_); $neighbors_id = array(); while ($items = mysql_fetch_assoc($result[_DB_CON_NAME_1_])) { $neighbors_id[] = $items['id']; } // 表示病院を除外 array_shift($neighbors_id); $query = "('" . implode("', '", $neighbors_id) . "')"; $sql = "SELECT \n"; $sql .= " `api_Hospital_Master`.`id` \n"; $sql .= " ,`api_Hospital_Master`.`prefecture_code_id` \n"; $sql .= " ,`api_Hospital_Master`.`city_code_id` \n"; $sql .= " ,`api_Hospital_Master`.`name` \n"; $sql .= " ,`api_Hospital_Master`.`add1` \n"; $sql .= " ,`api_Hospital_Master`.`add2` \n"; # $sql .= " ,`api_Hospital_Master`.`station_code_id` \n"; $sql .= " ,`api_Hospital_Master`.`tel` \n"; $sql .= " ,IF(`station_data`.`station_name` != '', CONCAT(`station_data`.`station_name`,'駅'), '未登録') as `station_name` \n"; $sql .= "FROM \n"; $sql .= " `api_Hospital_Master` \n"; $sql .= "LEFT JOIN \n"; $sql .= " `station_data` \n"; $sql .= "USING \n"; $sql .= " (`station_cd`) \n"; $sql .= "WHERE \n"; $sql .= " `id` \n"; $sql .= "IN \n"; $sql .= $query . " \n"; $result = DB::query($sql, _DB_CON_NAME_1_); $neighbors = array(); while ($items = mysql_fetch_assoc($result[_DB_CON_NAME_1_])) { $neighbors[$items['id']] = $items; } $sql = "SELECT \n"; $sql .= " * \n"; $sql .= "FROM \n"; $sql .= " `api_Category_Data` \n"; $sql .= "WHERE \n"; $sql .= " `id` \n"; $sql .= "IN \n"; $sql .= $query . " \n"; $sql .= "AND \n"; $sql .= " `Category_Master_M_id` IN \n"; $sql .= "('22','24') \n"; $result = DB::query($sql, _DB_CON_NAME_1_); while ($items = mysql_fetch_assoc($result[_DB_CON_NAME_1_])) { $neighbors[$items['id']]['category'][] = $items['Category_Master_M_id']; } } #-------------------------------------------------------------------------------- # メタタグ内記述用置換 #-------------------------------------------------------------------------------- // meta内の置換用配列 $replace_array = array( '[%AREA1%]' => $Hospital->data['address']['area1']['txt'], '[%AREA1B%]' => '(' . $Hospital->data['address']['area2']['txt'] . ')', '[%AREA2%]' => $Hospital->data['address']['area2']['txt'], '[%AREA2B%]' => '(' . $Hospital->data['address']['area2']['txt'] . ')', '[%ADDRESS%]' => $Hospital->data['add1'] . $Hospital->data['add2'], '[%NAME%]' => $Hospital->data['name'], "\n" => '', "\r" => '', ); $title = str_replace(array_keys($replace_array), array_values($replace_array), Common::$array['variables_page_setting']['hospital_detail']['title']); $keywd = str_replace(array_keys($replace_array), array_values($replace_array), Common::$array['variables_page_setting']['hospital_detail']['keyword']); $descp = str_replace(array_keys($replace_array), array_values($replace_array), Common::$array['variables_page_setting']['hospital_detail']['description']); // 必要javascriptの読み込み設定 $add_scipt = array( 'https://maps.google.com/maps/api/js?sensor=false' => 'javascript', 'jquery.gmap.js' => 'javascript', ); #$canonical_flg = true; $canonical_tag = '' . "\n"; #-------------------------------------------------------------------------------- # 書き出し 文言 #-------------------------------------------------------------------------------- $top_sentence = ''; if ($Hospital->data['tel'] && $Hospital->data['station_name'] != '') { $top_sentence = $Hospital->data['address']['area1']['txt'] . $Hospital->data['address']['area2']['txt'] . 'の' . $Hospital->data['name'] . 'の情報をご紹介いたします。'; $top_sentence .= $Hospital->data['name'] . 'は、' . $Hospital->data['station_name'] . '駅から通院できます。' . $Hospital->data['name'] . 'の診察時間を確認していただき、通院前に受付窓口 ' . $Hospital->data['tel'] . ' にご相談いただくようお願いいたします。'; } // 電話番号があって、駅データが無い elseif ($Hospital->data['tel'] && $Hospital->data['station_name'] != '') { $top_sentence = $Hospital->data['address']['area1']['txt'] . $Hospital->data['address']['area2']['txt'] . 'の' . $Hospital->data['name'] . 'の情報をご紹介いたします。'; $top_sentence .= $Hospital->data['name'] . 'の診察時間を確認していただき、通院前に受付窓口' . $Hospital->data['tel'] . 'にご相談いただくようお願いいたします。'; } // 電話番号がなくて、駅データがある elseif (!$Hospital->data['tel'] && $Hospital->data['station_name'] == '') { $top_sentence = $Hospital->data['address']['area1']['txt'] . $Hospital->data['address']['area2']['txt'] . 'の' . $Hospital->data['name'] . 'の情報をご紹介いたします。'; $top_sentence .= $Hospital->data['name'] . 'は、' . $Hospital->data['station_name'] . '駅から徒歩で通院できます。' . $Hospital->data['name'] . 'の診察時間を確認していただき、通院前に受付窓口にご相談いただくようお願いいたします。'; } // 電話番号がなくて、駅データもない else { $top_sentence = $Hospital->data['address']['area1']['txt'] . $Hospital->data['address']['area2']['txt'] . 'の'. $Hospital->data['name'] . 'の情報をご紹介いたします。'; $top_sentence .= $Hospital->data['name'] . 'の診察時間を確認していただき、通院前に受付窓口にご相談いただくようお願いいたします。'; } #-------------------------------------------------------------------------------- # 診察時間 文言 #-------------------------------------------------------------------------------- $surport_time_text = ''; if ($Hospital->data['tel'] == '未登録') { $surport_time_text = $Hospital->data['name'] . 'の受付時間が変更、臨時休診となる場合があります。' . $Hospital->data['name'] . 'の受付窓口でご確認いただき、診察時間外の場合は、' . $Hospital->data['address']['area2']['txt'] . 'で改めてお調べください。'; } else { $surport_time_text = $Hospital->data['name'] . 'の受付時間が変更、臨時休診となる場合があります。' . $Hospital->data['name'] . 'の受付窓口' . $Hospital->data['tel'] . 'でご確認いただき、診察時間外の場合は、' . $Hospital->data['address']['area2']['txt'] . 'で改めてお調べください。'; } #-------------------------------------------------------------------------------- # 治療費 文言 #-------------------------------------------------------------------------------- $cost_text = ''; // URL 電話両方ある場合 if ($Hospital->data['url'] != '未登録' && $Hospital->data['tel'] != '未登録') { $cost_text = '

処方せん薬、通院する病院によって治療費は前後しますので、' . $Hospital->data['name'] . 'のホームページ' . $Hospital->data['url'] . '、また受付窓口' . $Hospital->data['tel'] . 'でご確認ください。

'; } // URL無 TEL有 elseif ($Hospital->data['url'] == '未登録' && $Hospital->data['tel'] != '未登録') { $cost_text = '

処方せん薬、通院する病院によって治療費は前後しますので、' . $Hospital->data['name'] . 'のホームページ、また受付窓口' . $Hospital->data['tel'] . 'でご確認ください。(初診の場合、お薬代を含めた治療費は3,000円~4,000円前後です。)

'; } // URL有 tel無 elseif ($Hospital->data['url'] != '未登録' && $Hospital->data['tel'] == '未登録') { $cost_text = '

処方せん薬、通院する病院によって治療費は前後しますので、' . $Hospital->data['name'] . 'のホームページ' . $Hospital->data['url'] . '、また受付窓口でご確認ください。

'; } // 両方ない場合 else { $cost_text = '

処方せん薬、通院する病院によって治療費は前後しますので、' . $Hospital->data['name'] . 'のホームページ、また受付窓口でご確認ください。

'; } $cost_text .= '

【医療関係者の方へ】
'; $cost_text .= $Hospital->data['name'] . 'の情報に誤りがある場合は、お手数ですが、お問い合わせフォームよりご連絡いただきますようお願いいたします。

' . "\n"; #-------------------------------------------------------------------------------- # VIEW 読み込み #-------------------------------------------------------------------------------- require_once(_VIEW_ . Common::same_path()); #-------------------------------------------------------------------------------- # ここまで #-------------------------------------------------------------------------------- // 処理終了処理の実行 include(_LIB_ . 'end.php'); ?>