2010-05-12 72 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的其他用途。

相关问题