【发布时间】:2015-01-08 18:19:20
【问题描述】:
我正在使用来自 mysql_query 的 php 脚本以 html 格式显示数据。
为了进行查询语句,我有一个名为“questionnaire”的对应表,其中有 6 个名为“id”、“town”、“zip”、“ans1”、“ans2”、“ans3”的列。
我的 php 脚本正在从 html 表单中获取这 2 个字段的数据 - zip 和 town ,代码如下 -
$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
但没有一个适合我的情况。我真的需要建议或至少提示如何实现我的目标。
【问题讨论】: