2

PHP に移行する古い ASP 開発者。MS SQL データベースからエントリを取得して表示する PHP スクリプトを作成します。次のようになります。

<?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>";
}

ただし、それを表示するために作成したテーブルに入れようとすると、うまくいかないようです。

次のようになります。

<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これらの1つは余分なようです。色を交互にするためのものか、そのようなものがあります:

 <tr bgcolor="#eeeeee">

 <tr bgcolor="#ffffff">

実際には、tr 内に直接 tr を持つべきではありません。

于 2012-09-03T13:52:45.880 に答える