2013-01-06 2 views
0

데이터베이스에서 업로드 된 파일을 표시하는 데이 코드를 사용했습니다. 먼저 파일 이름을 선택해야합니다. 그러면 파일 세부 정보 (name + size + mime ..)를 볼 수 있습니다. "download "옵션, 문제는이 페이지가 파일 세부 사항을 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

$id$PID의 일부 값에 대한 중복 된 튜플을 생성하지 않는 SQL 쿼리를 확인하십시오 내 코드입니다. 예를 들어, 단일 "project_report"에 대해 둘 이상의 "evaluator_supervisor"가있는 경우 이러한 상황이 발생할 수 있습니다.

프로그램 외부에서 수동으로 쿼리를 시도하십시오.

테이블의 구조를 알 수 없으므로 쿼리의 전체 로직을 얻지 못합니다. 직접 판단하거나 여기에 게시하는 것이 좋습니다.

1

mysql 쿼리에 GROUP BY r.id을 추가 하시겠습니까?

편집 :

귀하의 질의 방법 evaluator_supervisor AS e에 가입하는 모든 조건을 포함하지 않습니다.

+1

이제 훨씬 나아졌습니다! +1 – gd1