2010-05-12 68 views
0

如果與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: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$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: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$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: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$dt->format('F j, Y').'</td>'; 
    echo '</tr>'; 
    } 
echo "</table>";  

?> 

</body> 
</html> 

回答

1

如果我理解正確的問題,你需要呼應出$dt3->format('F j, Y')而不是$dt->format('F j, Y')在你的代碼的最後一行之一。

1
while ($row3 = mysql_fetch_array($result3)) { 
    $dt3 = new DateTime($row3["created"], $tzFrom3); 
    $dt3->setTimezone($tzTo3); 
    echo '<tr>'; 
    echo '<td class="sitename5">Joined: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$dt->format('F j, Y').'</td>'; 
    echo '</tr>'; 
    } 
echo "</table>"; 

您是否在尋找回聲這裏調用$ dt3->格式( '縮略詞,Y'),而不是$ - >格式( '縮略詞,Y')?我沒有看到$ dt3的其他用途。

相關問題