gpt4 book ai didi

php - 如何在 php 中添加具有不同查询的两个不同行

转载 作者:行者123 更新时间:2023-11-28 02:53:03 25 4
gpt4 key购买 nike

那么让我们举个例子,我有一个包含数据的表 Total Points is the sum of two points

现在我已经合并了具有相同名称的行,现在我需要做的是计算两个总分的总和并将其显示在下一行中。像这样 Total of 'total points'这是我的代码

<table>
<tr align="center">
<td>Name</td>
<td>Point1</td>
<td>Point2</td>
<td>Total Points</td>
</tr>
<?php
$select_name = mysql_query("SELECT * FROM test");
while($row = mysql_fetch_array($select_name))
{
?>
<tr align="center">
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['point1']; ?></td>
<td><?php echo $row['point2']; ?></td>
<td><?php echo $row['point1']+$row['point2']; ?></td>
</tr>
<?php } ?>
<tr align="center">
<td>Name</td>
<td>Point1</td>
<td>Point2</td>
<td>Total Points</td>
</tr>
<?php
$select_name = mysql_query("SELECT DISTINCT name FROM test");
while($row = mysql_fetch_array($select_name))
{
$query_table1 = mysql_query("SELECT sum(point1) as sum1,sum(point2) as sum2, sum(point1)+sum(point2) as total FROM test WHERE name='".$row['name']."'");
?>
<tr align="center">
<td><?php echo $row['name']; ?></td>
<td><?php echo mysql_result($query_table1, 0, "sum1"); ?></td>
<td><?php echo mysql_result($query_table1, 0, "sum2"); ?></td>
<td><?php echo mysql_result($query_table1, 0, "total"); ?></td>
</tr>
<?php } ?>
<tr align="center">
<td>Total</td>
<td></td>
<td></td>
<td>???</td>
</tr>

最佳答案

始终将 PHP 逻辑与 HTML 分开。它将允许您编写更强大、更灵活且更易于调试的代码。

在将行构建为数组之前,完全使用 PHP 进行查询和计算。之后,你应该有类似的东西:

$tbl_1 = [
['abc',20,21,41], ['abc',25,14,39],
['def',22,27,49], ['def',23,18,41]
];

您甚至不需要第二次查询,因为您已经拥有所有数据。只需在 PHP 中对其进行操作即可获取所需的统计信息并将它们放入第二个数组中:

$tbl_2 = [
['abc',45,35,80], ['def',45,45,90]
];

要找到总计,您可以遍历任一数组的第 3 列。

只有当您完成所有逻辑后,您才应该继续使用 HTML 并显示结果。

关于php - 如何在 php 中添加具有不同查询的两个不同行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38548951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com