在列表项中显示从SQL数据库接收的数据


Displaying received data from a SQL Database in a list item

旧的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">&nbsp;<font color="#4d71a1"><b>Date Uploaded</b></font>&nbsp;</td>
                            <td align="center" valign="bottom">&nbsp;<font color="#4d71a1"><b>News Title</b></font>&nbsp;</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>&nbsp;&nbsp;&nbsp;
                            <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">&nbsp;</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>&nbsp;&nbsp;&nbsp;
  <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>&nbsp;&nbsp;&nbsp;
             <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。