我用这个代码来显示从数据库上传的文件,首先用户需要选择一个文件名,然后他可以看到文件的详细信息(名称+大小+ mime..)与"下载"选项,问题是这个页面是重复文件的详细信息4次,名称&大小,全部重复下载,有什么问题吗?
这是我的代码
$sql = "SELECT r.id, r.name , r.mime, r.size, r.date , s.email
from project_report AS r
JOIN evaluator_supervisor AS e
JOIN student AS s
WHERE (s.PID = $PID AND e.EID1 = '$id' AND s.SID=r.SID) OR (s.PID = $PID AND e.EID2 = '$id' AND s.SID=r.SID) ";
$result = $dbLink->query($sql);
// Check if it was successfull
if($result) {
// Make sure there are some files in there
if($result->num_rows == 0) {
echo '<p>"Sorry, No files uploaded"</p>';
}
else {
// Print the top of a table
echo '<center>';
echo '<table width="90%">
<tr>
<td><b>Name</b></td>
<td><b>Mime</b></td>
<td><b>Size (bytes)</b></td>
<td><b>Date</b></td>
<td><b> </b></td>
<td><b>Feedback</b></td>
</tr>';
// Print each file
while($row = $result->fetch_assoc()) {
echo "
<tr>
<td>{$row['name']}</td>
<td>{$row['mime']}</td>
<td>{$row['size']}</td>
<td>{$row['date']}</td>
<td><a href='Download.php?id={$row['id']}'>Download</a></td>
<td><a href='messege2.php?id={$row['email']}'><img src='mail2.gif'/></a></td>
</tr>";
}
// Close table
echo '</table>';
echo '</center>';
}
添加GROUP BY r.id
到您的mysql查询?
您的查询不包含任何如何连接evaluator_supervisor AS e
的条件。
请确保您的SQL查询不会为$id
和$PID
的某些值产生重复的元组。这可能会发生,例如,如果单个"project_report"有多个"evaluator_supervisor"。
在程序外手动尝试查询。
我不知道表的结构,所以我不知道你的查询的完整逻辑:你最好弄清楚自己或张贴在这里。