在列表项中显示从 SQL 数据库接收到的数据
Posted
技术标签:
【中文标题】在列表项中显示从 SQL 数据库接收到的数据【英文标题】:Displaying received data from a SQL Database in a list item 【发布时间】:2012-08-28 05:54:02 【问题描述】:迁移到 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 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" >
<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" border="0"></A>
<a href="NewsManage.php?do=del&id=" return false;">
<img src="images/1001-cancel16.gif" border="0">
</a>
</td>
</tr>
<tr><td colspan="7"> </td></tr>
<tr>
<td colspan="7" align="center">
</td>
</tr>
</table>
</td>
</tr>
</table>
我可能完全做错了,但有人能指出我正确的方向吗?
【问题讨论】:
您是否遇到任何错误?您是否尝试过 var_dump'ing 表中 $row 的内容? (var_dump($row);) 你能用while循环和所有东西发布整个表吗?这可能与您如何构建表格有关,因为数据显然在那里。 按代码看来应该没有问题。只是为了确认一下,您是否将将行放入循环内的 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" border="0"></A>
<a href="NewsManage.php?do=del&id=" return false;"><img src="images/1001-cancel16.gif" border="0"></a>
</td>
</tr>';
?>
【讨论】:
我修改了答案以匹配您的确切表格。只需将数据行替换为 php 代码即可。【参考方案2】:在包含数据的行之前开始 while 循环, 并在此之后立即结束。
<table align="center" cellSpacing=0 cellPadding=2 border="0" >
<!-- 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" border="0"></A>
<a href="NewsManage.php?do=del&id=" return false;">
<img src="images/1001-cancel16.gif" border="0">
</a>
</td>
</tr>
<?php // end while ?>
</table>
PS 其中一个似乎是额外的,它们是否用于交替颜色或类似的东西:
<tr bgcolor="#eeeeee">
<tr bgcolor="#ffffff">
你不应该真的在 tr 中直接有一个 tr。
【讨论】:
以上是关于在列表项中显示从 SQL 数据库接收到的数据的主要内容,如果未能解决你的问题,请参考以下文章