如果與mysql_query($sqlStr1)
相關的結果值爲零,則下面的HTML表格mysql_query($sqlStr3)
(其行中包含單詞「Joined」的表格)不會回顯。即使mysql_query($sqlStr3)
返回結果,也會發生這種情況。換句話說,如果給定的loginid在MySQL表「login」中有一個條目,但在MySQL表「submission」中沒有一個,那麼與mysql_query($sqlStr3)
相關聯的表不會回顯。如果另一個表具有零值,則表不會返回
我不明白爲什麼MySQL的「提交」表會對mysql_query($sqlStr3)
有任何影響,因爲$ sqlStr3只處理另一個名爲「login」的MySQL表,如下所示。
任何想法爲什麼會發生這種情況?
由於提前,
約翰W.
<?php
echo '<div class="profilename">User Profile for </div>';
echo '<div class="profilename2">'.$profile.'</div>';
$tzFrom = new DateTimeZone('America/New_York');
$tzTo = new DateTimeZone('America/Phoenix');
$profile = mysql_real_escape_string($_GET['profile']);
$sqlStr = "SELECT l.username, l.loginid, s.loginid, s.submissionid, s.title, s.url, s.datesubmitted, s.displayurl
FROM submission AS s
INNER JOIN login AS l
ON s.loginid = l.loginid
WHERE l.username = '$profile'
ORDER BY s.datesubmitted DESC";
$result = mysql_query($sqlStr);
$arr = array();
echo "<table class=\"samplesrec1\">";
while ($row = mysql_fetch_array($result)) {
$dt = new DateTime($row["datesubmitted"], $tzFrom);
$dt->setTimezone($tzTo);
echo '<tr>';
echo '<td class="sitename3">'.$dt->format('F j, Y &\nb\sp &\nb\sp g:i a').'</a></td>';
echo '<td class="sitename1"><a href="http://www.'.$row["url"].'">'.$row["title"].'</a></td>';
echo '</tr>';
}
echo "</table>";
$sqlStr1 = "SELECT l.username, l.loginid, s.loginid, s.submissionid, s.title, s.url, s.datesubmitted, s.displayurl, l.created, count(s.submissionid) countSubmissions
FROM submission AS s
INNER JOIN login AS l
ON s.loginid = l.loginid
WHERE l.username = '$profile'";
$result1 = mysql_query($sqlStr1);
$arr1 = array();
echo "<table class=\"samplesrec2\">";
while ($row1 = mysql_fetch_array($result1)) {
echo '<tr>';
echo '<td class="sitename5">Submissions: '.$row1["countSubmissions"].'</td>';
echo '</tr>';
}
echo "</table>";
$sqlStr2 = "SELECT l.username, l.loginid, c.loginid, c.commentid, c.submissionid, c.comment, c.datecommented, l.created, count(c.commentid) countComments
FROM comment AS c
INNER JOIN login AS l
ON c.loginid = l.loginid
WHERE l.username = '$profile'";
$result2 = mysql_query($sqlStr2);
$arr2 = array();
echo "<table class=\"samplesrec3\">";
while ($row2 = mysql_fetch_array($result2)) {
echo '<tr>';
echo '<td class="sitename5">Comments: '.$row2["countComments"].'</td>';
echo '</tr>';
}
echo "</table>";
$tzFrom3 = new DateTimeZone('America/New_York');
$tzTo3 = new DateTimeZone('America/Phoenix');
$sqlStr3 = "SELECT created, username
FROM login
WHERE username = '$profile'";
$result3 = mysql_query($sqlStr3);
$arr3 = array();
echo "<table class=\"samplesrec4\">";
while ($row3 = mysql_fetch_array($result3)) {
$dt3 = new DateTime($row3["created"], $tzFrom3);
$dt3->setTimezone($tzTo3);
echo '<tr>';
echo '<td class="sitename5">Joined: '.$dt->format('F j, Y').'</td>';
echo '</tr>';
}
echo "</table>";
?>
</body>
</html>