<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>データベースからセレクトメニューを生成したい</title>
</head>
<body>
<form method="post" action="">
<?php
$dbServer = 'localhost';
$dbUser = 'user';
$dbPass = 'password';
$dbName = 'sample';
$flag = TRUE;
if (!$link = mysql_connect($dbServer, $dbUser, $dbPass)) {
$flag = FALSE;
}
else if (!mysql_select_db($dbName, $link)) {
$flag = FALSE;
}
else if (!mysql_set_charset('utf8', $link)) {
$flag = FALSE;
}
if ($flag === TRUE) {
$sql = 'SELECT * FROM area';
$query = mysql_query($sql, $link);
echo '<select name="area">' . "\n";
while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {
echo ' <option value="' . h($row['id']) . '">' . h($row['area']) . '</option>' . "\n";
}
echo '</select>' . "\n";
if (isset($_POST['area'])) {
$id = $_POST['area'];
mysql_data_seek($query, 0);
while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {
if ($row['id'] == $id) {
echo '選択した地域は: ' . h($row['area']);
}
}
}
} else {
echo 'データベースエラー';
}
function h($string) {
return htmlspecialchars($string, ENT_QUOTES);
}
?>
<br />
<input type="submit" value="送信する" />
</form>
</body>
</html>