旧的ASP开发人员迁移到PHP。我编写了一个PHP脚本,从MSSQL数据库中检索条目并进行显示。看起来像这样:
<?php
$query = "SELECT DateUploaded, Title ";
$query .= "FROM TableName ";
$result = mssql_query($query);
$numRows = mssql_num_rows($result);
echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>";
while($row = mssql_fetch_array($result))
{
echo "<li>" . $row["DateUploaded"] . $row["Title"] . "</li>";
}
?>
现在,当我想让它显示时,只在页面上回显它就可以了。使用这段代码:
while($row = mssql_fetch_array($result))
{
echo "<li>" . $row["DateUploaded"] . $row["Title"] . "</li>";
}
然而,当我尝试将它放入我创建的表中以显示它时,它似乎不起作用,尽管我读了一些教程,觉得应该这样做,但它也类似于我在ASP中使用的技术。
看起来像这样:
<TABLE cellSpacing=1 cellPadding=2 align=center bgColor=#aaaaaa border=0 width="100%" class="logintbl">
<TR>
<TD bgColor=whitesmoke colSpan=0><B>News</B></td>
</tr>
<tr>
<td bgColor=#ffffff>
<table align="center" cellSpacing=0 cellPadding=2 border="0" width="100%">
<tr>
<td align="center" valign="bottom"> <font color="#4d71a1"><b>Date Uploaded</b></font> </td>
<td align="center" valign="bottom"> <font color="#4d71a1"><b>News Title</b></font> </td>
<td align="center"></td>
</tr>
<tr bgcolor="#eeeeee">
<tr bgcolor="#ffffff">
<td align="center"><?php echo $row["DateUploaded"]; ?></td>
<td align="center"><?php echo $row["Title"]; ?></td>
<td align="center">
<A href="NewsUpdate.php?id="><img src="images/0013-pen.gif" width="16" height="16" alt="" border="0"></A>
<a href="NewsManage.php?do=del&id=" return false;">
<img src="images/1001-cancel16.gif" width="16" height="16" alt="" border="0">
</a>
</td>
</tr>
<tr><td colspan="7"> </td></tr>
<tr>
<td colspan="7" align="center">
</td>
</tr>
</table>
</td>
</tr>
</table>
我可能做得完全错了,但有人能给我指个正确的方向吗?
将行放入循环中的echo:
<?php
while($row = mssql_fetch_array($result))
{
echo '<tr bgcolor="#ffffff">
<td align="center">'.$row["DateUploaded"].'</td>
<td align="center">'.$row["Title"].'</td>
<td align="center">
<A href="NewsUpdate.php?id="><img src="images/0013-pen.gif" width="16" height="16" alt="" border="0"></A>
<a href="NewsManage.php?do=del&id=" return false;"><img src="images/1001-cancel16.gif" width="16" height="16" alt="" border="0"></a>
</td>
</tr>';
}
?>
在包含数据的行之前启动while循环,然后马上结束。
<table align="center" cellSpacing=0 cellPadding=2 border="0" width="100%">
<!-- header row here -->
<?php
$alterColor = true;
while ($row = mssql_fetch_array($result)) { // start while
// alternating bg color for rows
$color = ($alterColor) ? "#fff" : "#eee";
$alterColor = !$alterColor;
?>
<tr bgcolor="<?php echo $color; ?>">
<td align="center"><?php echo $row["DateUploaded"]; ?></td>
<td align="center"><?php echo $row["Title"]; ?></td>
<td align="center">
<A href="NewsUpdate.php?id="><img src="images/0013-pen.gif" width="16" height="16" alt="" border="0"></A>
<a href="NewsManage.php?do=del&id=" return false;">
<img src="images/1001-cancel16.gif" width="16" height="16" alt="" border="0">
</a>
</td>
</tr>
<?php } // end while ?>
</table>
PS其中一个似乎是多余的,它们是用于交替颜色还是类似的东西:
<tr bgcolor="#eeeeee">
<tr bgcolor="#ffffff">
您不应该直接在tr中包含tr。