2013-01-06 53 views
0

我已经使用此代码显示从数据库中上传的文件,第一个用户需要选择一个文件名,然后他可以看到文件的详细信息(名称+大小+ MIME ..)与“下载“选项,问题是这个页面是重复文件的详细信息4次,名称&大小&下载全部重复,最新的问题是什么?PHP - 显示上传的文件重复

这里是我的代码

$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>'; 
    } 
+0

echo $ result-> num_rows;输出是什么? –

回答

0

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

手动尝试在程序外查询。

我不知道表格的结构,所以我没有得到你的查询的完整逻辑:你最好搞清楚你自己或在这里发布。

1

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

编辑:

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

+1

现在好多了! +1 – gd1