我有一个 php 文件,它使用从 mysql 数据库获取的数据为我创建一个表。
<?php
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $row['ID'] . "</td>";
echo "<td>" . $row['Name'] . "</td>";
echo "<td>" . $row['CountryCode'] . "</td>";
echo "<td>" . $row['District'] . "</td>";
echo "<td>" . $row['Population'] . "</td>";
echo "<td>" . $row['Price'] . "</td>";
echo "<td><input type=\"number\" name="quantity" id="quantity"></td>";
echo "</tr>";
}
} else {
echo "0 results";
}
$conn->close();
?>
在每行的末尾,我有一个输入数字,以便我可以计算每种产品的数量(在本例中为国家/地区)。我怎样才能获得每个国家/地区的金额,将其乘以价格并在表格末尾返回总计?
最佳答案
如果你想用PHP来完成,你必须分两步完成,因为PHP是在服务器中处理的。因此,您可以输入所需的所有数量,当您按下“计算”按钮时,页面会将所有值发送到服务器,服务器将计算您想要的所有内容并给出最终结果。
我发现此解决方案的一个问题是,一旦您获得了所需的所有数量,您就必须再次获得价格。我认为它的效率不是很高,因为你已经在第一页上有了它们。我在这里看到两个解决方案:
- 显示值时,请跟踪
$_SESSION
中的价格。字段,因此您可以在离开页面后访问它们,而无需从数据库中获取它们。 - 显示值时,将价格显示在
input
中字段(我建议为readonly
,这样用户就不会在此处更改此值),因此它们将包含在$_POST
中。 (或$_GET
,如果您使用此)浏览器将发送到服务器的变量。
如果您只想显示该值,之后不使用它,您可以使用 javascript 来计算它,这可能会更容易。
尽管这不是重点,但在显示 input
时应该小心。通过 PHP 进行 while 循环,因为这里所有的 input
s 有相同的 id
,这会让计算你想要的东西变得更加困难。
希望对你有帮助!
关于php - 使用 PHP 从表单获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56238472/