0
我想显示来自数据库的数据。我想显示4个名为'score','listening_score','reading_score'和'structure_score'的表格。 '分数'表格包含最终得分。混淆来自数据库的显示数据
的index.php
<? php
echo "Your TOEFL Score, <br>";
echo "<table class=\"score\">";
$email = $_SESSION['email'];
$q = mysql_query("SELECT * FROM score where email='$email'");
$query = mysql_query("SELECT * FROM structure_score where email='$email'");
$query1 = mysql_query("SELECT * FROM listening_score where email='$email'");
$query2 = mysql_query("SELECT * FROM reading_score where email='$email'");
while ($row = mysql_fetch_array($q)) {
echo "
<h3> <span >".$row['Score']."</span> </h3>";
while ($row = mysql_fetch_array($query)) {
echo "
<tr><td>Score Structure: </td> <td>".$row['Score']."</td><td>Right Answer: </td> <td>".$row['Right_Answer']."</td></tr>";
while ($row = mysql_fetch_array($query1)) {
echo "
<tr><td>Score Listening: </td> <td>".$row['Score']."</td><td>Right Answer: </td> <td>".$row['Right_Answer']."</td></tr>";
while ($row = mysql_fetch_array($query2)) {
echo "
<tr><td>Score Reading: </td> <td>".$row['Score']."</td><td>Right Answer: </td> <td>".$row['Right_Answer']."</td></tr>";
}
}
}
}
echo "</table><br><br>";
?>
我想显示:
233
Score Structure: 24 Right Answer: 0
Score Listening: 24 Right Answer: 0
Score Reading: 22 Right Answer: 0
但是当我测试两次,数据将被显示这样的:
233
263
Score Structure: 24 Right Answer: 0
Score Listening: 24 Right Answer: 0
Score Reading: 22 Right Answer: 0
Score Reading: 31 Right Answer: 12
Score Listening: 33 Right Answer: 10
Score Structure: 32 Right Answer: 8
我想显示像这样:
233
Score Structure: 24 Right Answer: 0
Score Listening: 24 Right Answer: 0
Score Reading: 22 Right Answer: 0
263
Score Reading: 31 Right Answer: 12
Score Listening: 33 Right Answer: 10
Score Structure: 32 Right Answer: 8
这是我的表结构:
CREATE TABLE IF NOT EXISTS `score` (
`email` varchar(30) NOT NULL,
`Score` int(100) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `listening_score` (
`email` varchar(30) NOT NULL,
`Right_Answer` int(100) NOT NULL,
`Score` int(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `reading_score` (
`email` varchar(30) NOT NULL,
`Right_Answer` int(100) NOT NULL,
`Score` int(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `structure_score` (
`email` varchar(30) NOT NULL,
`Right_Answer` int(100) NOT NULL,
`Score` int(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
你能否提供您所使用的表的结构?因为我们能够更好地理解您的问题 –
是的,我确定很多用户可以帮助您,但是没有更多详细信息,我们不能提供 – sloaxleak
因此,可能会有多个TOEFL分数与同一电子邮件相关联?这并没有什么意义,看起来你错过了“会话”或某事的概念 - 所以电子邮件在会议1(发生在X日期)和会议2(发生在Y日)。否则,你不能按你想要的方式分组。 – rlanvin