$min_year = 1;
$max_year = 10;
$years = range($min_year, $max_year); // returns array with numeric values of 1900 - 2012
$yearHTML = '';
$yearHTML .= '<select name="year" id="yearDrop">'.PHP_EOL;
$yearHTML .= '<option value="">Please Select</option>'.PHP_EOL;
foreach ($years as $year) {
if (!$validSubmission && isset($_POST['year']) && $year == $_POST['year'])
{
$yearHTML .= "<option value='".$year."' selected='selected'>$year</option>".PHP_EOL;
}
else
{
$yearHTML .= "<option value='".$year."'>$year</option>".PHP_EOL;
}
}
$yearHTML .= '</select>';
上には、ドロップダウン メニューのオプション 1 ~ 10 で構成されるドロップダウン メニューがあります。私が抱えている問題は、ドロップダウン メニューからどの番号を選択しても、その番号1
がデータベースに挿入され続けることです。以下のコードで、なぜこれを行っているのか誰にもわかりますか:
$getyear = in_array($_POST['year'], $years);
$insertsql = "
INSERT INTO Student
(Year)
VALUES
(?)
";
if (!$insert = $mysqli->prepare($insertsql)) {
// Handle errors with prepare operation here
}
$insert->bind_param("i", $getyear);
$insert->execute();
if ($insert->errno) {
// Handle query error here
}
$insert->close();