gpt4 book ai didi

php - 如何确定使用 mysql_query 从 mysql_fetch_array 获取数据的动态变量中的重复值?

转载 作者:行者123 更新时间:2023-11-29 07:45:46 25 4
gpt4 key购买 nike

我使用 mysql_query 中的 php 脚本以 html 格式显示数据。

为了制作查询语句,我有一个名为“questionnaire”的对应表,其中有 6 个名为“id”、“town”、“zip”、“ans1”、“ans2”、“ans3”的列。

我的 php 脚本正在从 html 表单获取这 2 个字段的数据 - zip 和城镇,代码如下 -

$town = _POST['town'];
$zip = _POST['zip'];

include (dbconnect.php);

$query = mysql_query("select * from questionnair where town = '$town' && zip = '$zip' order by zip");
$data = mysql_fetch_array($query);

现在我将它们展示为-

<html>
<body>
<table>
<tr><th>ZIP</th><th>Ans 1</th><th>Ans 2</th><th>Ans 3</th></tr>
<? do {
echo "<tr><td>".$data['zip']."</td><td>".$data['ans1']."</td><td>".$data['ans2']."</td><td>".$data['ans3']."</td></tr>";
} while ($data = mysql_fetch_array($query));
?>
</table>
</body>
</html>

到目前为止,一切都很好并且可以正常工作。现在我需要下一步的建议和帮助-

如果 zip 列中有单个 zip 的多个记录,那么我需要检测到这一点,并且必须在单行中显示该单个 zip 的“ans1”、“ans2”和“ans3”列的平均结果在我生成的 html 表中。

例如-

------------------------------------------------
town | zip | ans1 | ans2 | ans3
================================================
NY | 107 | 4 | 5 | 2
------------------------------------------------
NY | 107 | 1 | 4 | 3
------------------------------------------------
NY | 108 | 2 | 2 | 2
------------------------------------------------
NY | 109 | 5 | 3 | 1
------------------------------------------------
NY | 107 | 2 | 2 | 1
------------------------------------------------
NY | 107 | 1 | 4 | 3
------------------------------------------------
NY | 112 | 2 | 4 | 5
------------------------------------------------
NY | 113 | 5 | 1 | 1
------------------------------------------------
NY | 113 | 3 | 3 | 2
------------------------------------------------
NY | 113 | 2 | 3 | 4
------------------------------------------------
NY | 116 | 5 | 5 | 2
------------------------------------------------

但我打算将结果表显示为 -

------------------------------------------------
town | zip | ans1 | ans2 | ans3
================================================
NY | 107 | 2 | 3.75 | 2.25
------------------------------------------------
NY | 108 | 2 | 2 | 2
------------------------------------------------
NY | 109 | 5 | 3 | 1
------------------------------------------------
NY | 112 | 2 | 4 | 5
------------------------------------------------
NY | 113 | 3.66 | 2.33 | 2.33
------------------------------------------------
NY | 116 | 5 | 5 | 2
------------------------------------------------

我已经尝试过这些帖子 - How to detect duplicate values in PHP array?PHP: Check for duplicate values in a multidimensional array

但没有一个适合我的情况。我真的需要建议或至少提示如何实现我的目标。

最佳答案

不要在 PHP 中执行此操作。在 MySQL 中执行此操作效率更高。

select AVG(ans1) AS ans1, AVG(ans2) AS ans2, AVG(ans3) AS ans3, town, zip
from questionnair
where town = '$town' AND zip = '$zip'
GROUP BY zip
order by zip

这将为您提供不同的 zip 以及每个答案的平均值。

关于php - 如何确定使用 mysql_query 从 mysql_fetch_array 获取数据的动态变量中的重复值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27846918/

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