2010-04-05 4 views
0

나는 다음과 같은 구조로 "로그인"라는 MySQL의 테이블을 사용하고 하나 개의 테이블, 사용자 이름에 의견을 조회하기 다음과 같은 구조 : 주어진 "submisssionid"를쿼리는 다른 테이블

commentid, loginid, submissionid, comment, datecommented 

, 나는 테이블 "코멘트"에서 다음과 같은 정보를 출력하고 싶은 :

년 - 필드 "주석"과 "datecommented을".

동시에

, 나는 테이블 "로그인"에서 다음을 인쇄하고 싶습니다 :

각 행에있는 행에 대해 "은 loginid"에 해당하는 년 - "사용자 이름"테이블에서 선택되는 "논평".

어떻게하면됩니까?

아래 코드를 시도했지만 작동하지 않았습니다. 사전에

감사합니다,

$submission = mysql_real_escape_string($_GET['submission']); 
$submissionid = mysql_real_escape_string($_GET['submissionid']); 


    $sqlStr = "SELECT 
        c.loginid 
        ,c.submissionid 
        ,c.comment 
        ,c.datecommented 
        ,l.username 
        ,COUNT(c.commentid) countComments 
       FROM 
        comment c 
       WHERE 
        c.submissionid = $submissionid 
       INNER 
       JOIN 
        login l 
        ON 
        c.loginid = l.loginid 
       GROUP 
        BY 
        c.submissionid 
       ORDER 
        BY 
        c.datecommented DESC 
       LIMIT 
        100";   

    $result = mysql_query($sqlStr); 

    $arr = array(); 
    echo "<table class=\"samplesrec\">"; 
    while ($row = mysql_fetch_array($result)) { 
     echo '<tr>'; 
     echo '<td class="sitename1">'.$row["comment"].'</td>'; 
     echo '</tr>'; 
     echo '<tr>'; 
     echo '<td class="sitename2"><a href="http://www...com/sandbox/members/index.php?profile='.$row["username"].'">'.$row["username"].'</a>'.$row["datecommented"].'</td>'; 
     echo '</tr>'; 
     } 
    echo "</table>";  

답변

0
SELECT comment.comment, comment.datecommented, login.username 
FROM comment 
LEFT JOIN login ON comment.loginid=login.loginid 
WHERE submissionid=$submissionid 
ORDER BY comment.datecommented DESC 
LIMIT 100";