В MySQL, я использую следующие три таблицы (их поля перечислены после их названия):Регистрация с тремя таблицами
комментарий:
commentid loginid submissionid comment datecommented
Логин:
loginid username password email actcode disabled activated created points
представление :
submissionid loginid title url displayurl datesubmitted
I хотел бы отобразить «datecommented» и «comment» для данного «username», где «username» равно переменной с именем $profile
. Я также хотел бы сделать «комментарий» гиперссылкой на http://www...com/.../comments/index.php?submission='.$rowc["title"].'&submissionid='.$rowc["submissionid"].'&url='.$rowc["url"].'&countcomments='.$rowc["countComments"].'&submittor='.$rowc["username"].'&submissiondate='.$rowc["datesubmitted"].'&dispurl='.$rowc["displayurl"].'
, где countComments равно COUNT(c.commentid)
и $rowc
является частью запроса, указанного ниже.
Я попытался использовать следующий код, чтобы сделать то, что хочу, но это не сработало. Как я могу изменить его, чтобы он делал то, что я хочу?
Спасибо заранее,
Джон
$sqlStrc = "SELECT
s.loginid
,s.title
,s.url
,s.displayurl
,s.datesubmitted
,l.username
,l.loginid
,s.title
,s.submissionid
,c.comment
,c.datecommented
,COUNT(c.commentid) countComments
FROM
submission s
INNER
JOIN
login l
ON
s.loginid = l.loginid
LEFT OUTER
JOIN
comment c
ON
c.loginid = l.loginid
WHERE l.username = '$profile'
GROUP
BY
c.loginid
ORDER
BY
s.datecommented DESC
LIMIT
10";
$resultc = mysql_query($sqlStrc);
$arrc = array();
echo "<table class=\"samplesrec1c\">";
while ($rowc = mysql_fetch_array($resultc)) {
$dtc = new DateTime($rowc["datecommented"], $tzFromc);
$dtc->setTimezone($tzToc);
echo '<tr>';
echo '<td class="sitename3c">'.$dtc->format('F j, Y &\nb\sp &\nb\sp g:i a').'</a></td>';
echo '<td class="sitename1c"><a href="http://www...com/.../comments/index.php?submission='.$rowc["title"].'&submissionid='.$rowc["submissionid"].'&url='.$rowc["url"].'&countcomments='.$rowc["countComments"].'&submittor='.$rowc["username"].'&submissiondate='.$rowc["datesubmitted"].'&dispurl='.$rowc["displayurl"].'">'.stripslashes($rowc["comment"]).'</a></td>';
echo '</tr>';
}
echo "</table>";
P.S. Я думаю, вам нужен второй запрос, чтобы найти COUNT (c.commentid). Вы не можете вернуть все из них в одном запросе. –