0

我已经使用此代码显示从数据库上传的文件,首先用户需要选择一个文件名,然后他可以使用“下载”选项查看文件详细信息(名称 + 大小 + 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>&nbsp;</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>';
    }
4

2 回答 2

1

添加GROUP BY r.id到您的mysql查询?

编辑:

您的查询不包含任何条件如何加入evaluator_supervisor AS e

于 2013-01-06T13:02:41.040 回答
0

请确保您的 SQL 查询不会为$id和的某些值生成重复的元组$PID。例如,如果单个“project_report”有多个“evaluator_supervisor”,则可能会发生这种情况。

手动尝试程序外部的查询。

我不知道表格的结构,所以我不了解您查询的完整逻辑:您最好自己弄清楚或在此处发布。

于 2013-01-06T12:59:23.307 回答