2012-02-12 80 views
-1

我试图建立一个饲料应用程序在PHP中,即时通讯使用一个简单的表与2列..一个名称和一个为各自的饲料...我的饲料正常出现,但有一些问题名继承人的代码...php变量显示不正确

<?php 
include_once "connect_to_mysql.php"; 
$sql = mysql_query("SELECT id, feed, feeddate FROM feeds ORDER BY feeddate DESC LIMIT  20"); 
while($row = mysql_fetch_array($sql)) 
{ 
$name = $row["name"]; 
$uid = $row["userid"]; 
$ufeed = $row["feed"]; 
$feeddate = $row["feeddate"]; 


$feeds .= ' 
     <table width="90%" align="center" cellpadding="4" bgcolor="#A6D2FF"> 
    <tr> 
     <td width="7%" bgcolor="#FFFFFF"><a href="http://www.project360.in/emp_profile.php?id=' . $uid . '">' . $name . '</a><br /> 
     </td> 
     <td width="93%" bgcolor="#D9ECFF"> <span style="font-size:10px; font-weight:bold; color:#A6A6A6;">' . $feeddate . '</span><br /> 
     ' . $ufeed . '</td> 
    </tr> 
    </table>'; 

}?> 
<?php print "$feeds"; ?> 

这里的$名称的事情是根本不显示为链接!请帮助..

+0

我很困惑,你说的2列,我算4,另外,为什么会$名称显示为一个链接?这是一个名字!最后,如果不是预期的结果,你会看到什么? – 2012-02-12 10:52:18

回答

3

你只选择三列:

SELECT id, feed, feeddate 

“名”不在其中,所以它会总是空的。

+0

谢谢!即时通讯如此愚蠢的大声笑! – 2012-02-12 11:41:39

0

$row["name"]未设置的,因为你不包括名称列中的数据库查询的选择表达式。因此,声明

$name = $row["name"]; 

$namenull。这同样适用于$uid$row["userid"]

0

您的SQL查询应该是

$sql = mysql_query("SELECT name, id, feed, feeddate FROM feeds ORDER BY feeddate DESC LIMIT 20");

此外,你必须$uid = $row["userid"];。我相信它应该是$uid = $row["id"];,因为你在sql查询中有id。你必须改变他们中的任何一个。

如果你有id使用上面的查询,否则使用下面的查询。

$sql = mysql_query("SELECT name, userid, feed, feeddate FROM feeds ORDER BY feeddate DESC LIMIT 20");

0

您选择3列id,feed,feed date。但你要打印name,id,feed,feed date。请选择名称栏。它会显示正确的输出。