我正在尝试创建一个html表单以提供有关我数据库中薪金表的信息,用户应该能够选择1986-1996年之间的年份,并选择是否要查看该年的总薪水或该年的平均薪水。那年。我不知道如何链接这些脚本,也无法在线找到更多内容。
感谢您提前提供帮助!:)
html文件:
<html>
<body>
<fieldset>
<form id="frmName" method=post action="Oppgave4.php" onsubmit="">
<h1>Oppgave 4</h1>
Choose year:
<select id="frmName" onChange="">
<option selected disabled hidden>----</option>
<option name="1986">1986</option>
<option name="1987">1987</option>
<option name="1988">1988</option>
<option name="1989">1989</option>
<option name="1990">1990</option>
<option name="1991">1991</option>
<option name="1992">1992</option>
<option name="1993">1993</option>
<option name="1994">1994</option>
<option name="1995">1995</option>
<option name="1996">1996</option>
</select>
Total or average salary:
<select id="frmName" onChange="">
<option selected disabled hidden>----</option>
<option name="Total">Total salary</option>
<option name="Average">Average salary</option>
</select>
<input type="submit" value="Submit" id="submit">
</p>
</form>
</fieldset>
</body>
</html>
php文件:
<?php
$year = ($_POST['1986'], $_POST['1987'], $_POST['1988'], $_POST['1989'], $_POST['1990'],
$_POST['1991'], $_POST['1992'], $_POST['1993'], $_POST['1994'], $_POST['1995'],
$_POST['1996'], $_POST['Total']);
$average = $_POST['Average'];
$conn = mysqli_connect("localhost", "root", "", "employees");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sqlavg = "SELECT AVG(salaries.salary) AS average FROM salaries
WHERE from_date = '$year'";
$result = $conn->query($sql);
if (!empty($result) && $result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["average"] ."</td></tr>";
}
echo "</table>";
$sqlsum = "SELECT SUM(salaries.salary) AS total FROM salaries
WHERE from_date = '$year'";
$result = $conn->query($sql);
if (!empty($result) && $result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["total"] ."</td></tr>";
}
echo "</table>";
} else { echo "0 results"; }
$conn->close();
?>
<select>
<select name="year">
然后您应该给每个选项一个值:
<option value="1994">1994</option> ...// do each one like this
这样,当表单提交到PHP时,您可以在POST数组中找到它:
$year = $_POST['year'];
这仅仅是开始。您还有另一个下拉菜单,也需要一个名称,并且每个选项都应具有值属性。
<select name="calculation_type"> <option>----</option> <option value="Total">Total salary</option> <option value="Average">Average salary</option> </select>
将在POST数组中找到类似的内容:
$average = $_POST['calculation_type'];
您的表单需要名称,不需要onsubmit
操作应该是将执行计算的PHP脚本的名称:
<form name="form_name" method=post action="Oppgave4.php">
警告
Little Bobby表示[your script is at risk for SQL Injection Attacks.了解有关prepared的MySQLi语句。甚至escaping the string都不安全!
建议
[您应该阅读一些基本的PHP教程,例如https://www.learn-php.org/(免费的交互式网站)或其他服务提供的那些