2010-07-08 32 views
0

我正在使用一个名为“login”的MySQL表,其结构如下。表结构下的代码使用从表“登录”中提取的数据。变量只响应老的登录ID

对于大约两个月前创建的某些loginids,代码回应变量“网站”罚款,没有问题。对于我最近创建的loginids,代码不会回显变量“website”。我甚至尝试给一个新的和老年人登录ID的“网站”完全相同的值,并且问题依然存在。 任何想法为什么发生?

由于提前,

约翰

`login` (
    `loginid` int(11) unsigned NOT NULL auto_increment, 
    `username` varchar(30) NOT NULL, 
    `password` varchar(50) NOT NULL, 
    `email` varchar(255) NOT NULL, 
    `actcode` varchar(45) NOT NULL, 
    `disabled` tinyint(1) NOT NULL default '0', 
    `activated` tinyint(1) NOT NULL default '0', 
    `created` timestamp NOT NULL default CURRENT_TIMESTAMP, 
    `points` bigint(9) NOT NULL, 
    `website` varchar(1000) NOT NULL, 
    `location` varchar(1000) NOT NULL, 
    `age` int(11) NOT NULL, 
    `gender` varchar(1000) NOT NULL, 
    PRIMARY KEY (`loginid`) 
) 

编辑:下面是完整的查询:

$sqlStrw = "SELECT l.username, l.loginid, l.website, 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'"; 


    $resultw = mysql_query($sqlStrw); 

$arrw = array(); 
echo "<table class=\"samplesrecw\">"; 
while ($roww = mysql_fetch_array($resultw)) { 
    echo '<tr>'; 
    echo '<td class="sitename5">Website: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.'.$roww["website"].'" TARGET="_blank">'.$roww["website"].'</a></td>'; 
    echo '</tr>'; 
    } 
echo "</table>"; 
+0

您需要提供更多代码,$ roww如何检索?也有你认为网站字段可能是空的,这就是为什么它不显示? – fire 2010-07-08 09:49:20

+0

有时它不会在表中存在数据时显示。 – John 2010-07-08 09:51:05

+1

所以告诉我们完整的代码.. – fire 2010-07-08 09:58:52

回答

0

inner join只会从login其中有一个MACHING loginidcomment返回行。你可能想要一个''右外''加入这里。