Итак, у меня есть 2 выпадающих списка, мне нужно выбрать год из них. Затем мне нужно показать выбранный год и количество населения за этот год.
Например:
За 1800 год: население: 3 929 214
За 1900 год: население: 76 212 168 человек
Население увеличилось на: 72 282 954.
Так вот мой код до сих пор:
<html>
<head>
<meta charset="UTF-8">
<title>Calculator</title>
</head>
<body>
<h1>Population Change Calculator</h1>
<?php
$population=[3929214,5236631,7239881,9638453,12866020,17069453,23191876,31443321];
$year=(range(1790, 1860, 10));
$array= array_combine($year, $population);
?>
<form method="post">
<p><label for="year1">Year 1:</label>
<select name="year1">
<option value=""></option>
<?php
foreach ($array as $year1=>$population){ ?>
<option value="<?php echo $year1; ?>"><?php echo $year1; ?></option>
<?php }
?>
</select>
</p>
<p>
<label for="year2">Year 2:</label>
<select name="year2">
<option value=""></option>
<?php
foreach ($array as $year2=>$population){ ?>
<option value="<?php echo $year2; ?>"><?php echo $year2; ?></option>
<?php }
?>
</select>
</p>
<input type="submit" name="submit" value="Submit">
<br>
</form>
<?php
$ini_set = ini_set('display_errors', 1);
error_reporting(E_ALL);
$empty=true;
if(isset($_POST['submit'])){
if(empty($_POST['year1'])){
$empty=FALSE;
print "<p>Please choose Year 1.</p>";
}
if(empty($_POST['year2'])){
$empty=false;
print "<p>Please choose Year 2.</p>";
}
}
Я не могу понять, как напечатать выбранный год и население для этого года.
Я новичок в PHP, заранее спасибо.
Кажется странным, что вы устанавливаете ценность своих «годичных» вариантов для населения. Возможно, это ошибка ..?
Вы должны изменить их, чтобы использовать год:
<option value="<?php echo $year1; ?>"><?php echo $year1; ?></option>
Как только вы это сделаете, вы можете распечатать нужные значения, выполнив что-то вроде этого:
if (isset($_POST['submit'])) {
if (empty($_POST['year1'])) {
$empty = FALSE;
print "<p>Please choose Year 1.</p>";
} else {
print "<h1>Year 1: {$_POST['year1']}</h1>";
print "<p>Population: {$array[$_POST['year1']]}</p>";
}
if (empty($_POST['year2'])) {
$empty = false;
print "<p>Please choose Year 2.</p>";
} else {
print "<h1>Year 2: {$_POST['year2']}</h1>";
print "<p>Population: {$array[$_POST['year2']]}</p>";
}
}
Других решений пока нет …