<?php
header('Content-Type: text/html; charset=UTF-8');
// .envファイルを手動で読み込む
$envFilePath = __DIR__ . '/../.env';
if (!file_exists($envFilePath)) {
die("<p>.envファイルが見つかりません。</p>");
}
// .envファイルを解析して環境変数に設定
$env = parse_ini_file($envFilePath, false, INI_SCANNER_TYPED);
if (!$env) {<?php
header('Content-Type: text/html; charset=UTF-8');
// .envファイルを手動で読み込む
$envFilePath = __DIR__ . '/../.env';
if (!file_exists($envFilePath)) {
die("<p>.envファイルが見つかりません。</p>");
}
// .envファイルを解析して環境変数に設定
$env = parse_ini_file($envFilePath, false, INI_SCANNER_TYPED);
if (!$env) {
die("<p>.envファイルの解析に失敗しました。</p>");
}
try {
// .envファイルからデータベース接続情報を取得
$host = $env['DB_HOST'];
$dbname = $env['DB_NAME'];
$username = $env['DB_USER'];
$password = $env['DB_PASS'];
// PDOでデータベース接続
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// URLパラメータで都道府県を取得
$prefecture = filter_input(INPUT_GET, 'prefecture', FILTER_SANITIZE_STRING);
if (!$prefecture)
die("<p>都道府県が指定されていません。</p>");
?>
// 市町村データ取得
$stmt = $pdo->prepare("SELECT city FROM cityson WHERE prefecture = :prefecture");
$stmt->bindValue(':prefecture', $prefecture, PDO::PARAM_STR);
$stmt->execute();
$cities = $stmt->fetchAll(PDO::FETCH_COLUMN);
} catch (PDOException $e) {
die("<p>データベースエラー: " . $e->getMessage() . "</p>");
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo htmlspecialchars($prefecture); ?>の市町村</title>
<link rel="stylesheet" href="style.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Helvetica Neue', Arial, 'Hiragino Sans', Meiryo, sans-serif;
background-color: rgb(144, 124, 255);
}
.container {
max-width: 1980px;
margin: 0 auto;
padding: 20px;
display: flex;
flex-wrap: wrap;
gap: 20px;
}
.main-content {
flex: 1;
min-width: 320px;
margin-top: 60px;
}
.advertisement {
width: 300px;
background-color: #fff;
padding: 20px;
border-radius: 10px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
margin-top: 60px;
}
.map-section {
background-color: #d9b4ec;
padding: 20px;
border-radius: 10px;
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
}
.city-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 20px;
}
.city-card {
background-color: #fff;
border-radius: 10px;
padding: 15px;
text-align: center;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.city-card:hover {
transform: translateY(-5px);
}
.news-grid, .stats-card img {
width: 100%;
}
</style>
</head>
<body>
<div class="scroll">
<span>徳育シンクタンクの目標は、人々の倫理的・道徳的な教育を推進し、社会全体の倫理観を高めること。</span>
</div>
<div class="container">
<!-- 左カラム: 広告スペース -->
<aside class="advertisement">
<h2>広告スペース</h2>
<p>ここに広告やプロモーション情報を表示します。</p>
</aside>
<!-- メインコンテンツ -->
<main class="main-content">
<section class="map-section">
<h2><?php echo htmlspecialchars($prefecture); ?>の市町村</h2>
<div class="city-list">
<?php
// 仮の市町村データ
$cities = ['市町村1', '市町村2', '市町村3', '市町村4', '市町村5'];
foreach ($cities as $city): ?>
<div class="city-card">
<a href="page03.php?city=<?php echo urlencode($city); ?>">
<?php echo htmlspecialchars($city); ?>
</a>
</div>
<?php endforeach; ?>
</div>
</section>
<!-- ニュースカード -->
<section class="news-grid">
<div class="news-card">
<h3>ニュース1</h3>
<p>最新の情報をお届けします。</p>
</div>
<div class="news-card">
<h3>ニュース2</h3>
<p>地域のトピックを掲載中。</p>
</div>
<div class="news-card">
<h3>ニュース3</h3>
<p>新たな動向をお見逃しなく。</p>
</div>
</section>
</main>
</div>
</body>
</html>
die("<p>.envファイルの解析に失敗しました。</p>");
}
try {
// .envファイルからデータベース接続情報を取得
$host = $env['DB_HOST'];
$dbname = $env['DB_NAME'];
$username = $env['DB_USER'];
$password = $env['DB_PASS'];
// PDOでデータベース接続
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// URLパラメータで都道府県を受け取る
$prefecture = filter_input(INPUT_GET, 'prefecture', FILTER_SANITIZE_STRING);
if (!$prefecture) {
die("<p>都道府県が指定されていません。</p>");
}
// 該当する市町村を取得するクエリ
$stmt = $pdo->prepare("SELECT city FROM cityson WHERE prefecture = :prefecture");
$stmt->bindValue(':prefecture', $prefecture, PDO::PARAM_STR);
$stmt->execute();
// 結果を取得(失敗時は空配列を返す)
$cities = $stmt->fetchAll(PDO::FETCH_COLUMN) ?: [];
} catch (PDOException $e) {
die("<p>データベースエラー: " . $e->getMessage() . "</p>");
}
?>
<body>
<div class="container">
<main class="main-content">
<section class="map-section">
<h2><?php echo htmlspecialchars($prefecture); ?>の市町村</h2>
<div class="city-list">
<?php if (!empty($cities)): ?>
<?php foreach ($cities as $city): ?>
<div class="city-card">
<a href="page03.php?city=<?php echo urlencode($city); ?>">
<?php echo htmlspecialchars($city); ?>
</a>
</div>
<?php endforeach; ?>
<?php else: ?>
<p>市町村データが見つかりません。</p>
<?php endif; ?>
</div>
</section>
</main>
</div>
</body>
</html>
<?php
header('Content-Type: text/html; charset=UTF-8');
// .envファイルの読み込みとデータベース接続
$envFilePath = __DIR__ . '/../.env';
if (!file_exists($envFilePath)) {
die("Error: .envファイルが見つかりません。");
}
$env = parse_ini_file($envFilePath, false, INI_SCANNER_TYPED);
if (!$env) {
die("Error: .envファイルの読み込みに失敗しました。");
}
try {
// データベース接続情報
$host = $env['DB_HOST'];
$dbname = $env['DB_NAME'];
$username = $env['DB_USER'];
$password = $env['DB_PASS'];
// PDO接続
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 都道府県パラメータの取得
$prefecture = filter_input(INPUT_GET, 'prefecture', FILTER_SANITIZE_STRING);
if (!$prefecture) {
die("Error: 都道府県が指定されていません。");
}
// 市町村データ取得
$stmt = $pdo->prepare("SELECT city FROM cityson WHERE prefecture = :prefecture");
$stmt->bindValue(':prefecture', $prefecture, PDO::PARAM_STR);
$stmt->execute();
$cities = $stmt->fetchAll(PDO::FETCH_COLUMN);
} catch (PDOException $e) {
die("データベースエラー: " . $e->getMessage());
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo htmlspecialchars($prefecture); ?>の市町村</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'Helvetica Neue', Arial, sans-serif;
background-color: rgb(144, 124, 255);
}
.container {
max-width: 1200px;
margin: 20px auto;
padding: 20px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.map-section {
background-color: #d9b4ec;
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
.city-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 20px;
}
.city-card {
background-color: #fff;
padding: 15px;
border-radius: 10px;
text-align: center;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.city-card:hover { transform: translateY(-5px); }
a {
text-decoration: none;
color: #333;
font-weight: bold;
}
</style>
</head>
<body>
<div class="container">
<section class="map-section">
<h2><?php echo htmlspecialchars($prefecture); ?>の市町村</h2>
<div class="city-list">
<?php if (!empty($cities)): ?>
<?php foreach ($cities as $city): ?>
<div class="city-card">
<a href="page03.php?city=<?php echo urlencode($city); ?>">
<?php echo htmlspecialchars($city); ?>
</a>
</div>
<?php endforeach; ?>
<?php else: ?>
<p>市町村データが見つかりませんでした。</p>
<?php endif; ?>
</div>
</section>
</div>
</body>
</html>
Share this content: