2

迁移到 PHP 的老 ASP 开发人员。我编写了一个 PHP 脚本来从 MS SQL 数据库中检索条目并显示。看起来像这样:

<?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>

我可能做错了,但有人能指出我正确的方向吗?

4

2 回答 2

3

将行放入循环内的 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>';
}
?>
于 2012-09-03T13:36:02.300 回答
2

在包含数据的行之前开始 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 。

于 2012-09-03T13:52:45.880 回答