<?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:

By Air

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA