【问题标题】:PHP loop - creating a table using a loop and giving it headersPHP循环 - 使用循环创建表并为其提供标题
【发布时间】:2012-03-12 05:26:54
【问题描述】:

我在学习 PHP 方面还有几个阶段,但我又遇到了另一个烦人的进站。我有一段非常简单的代码可以从我的数据库中检索书籍项目。我在 html 表格中显示它们,但是因为它是一个循环,如果我使用 th 标签作为表格标题,我会在每个数据项上方获得一个标题!

这是我的代码摘录:(如您所见,我已将我的 th 标签作为 cmets,因为这不起作用)

<table border="0">
<br />
<?php
$count = 0;
while ($count < $numrow)
{
    $row = mysql_fetch_array($results);
    extract($row);

    echo "<tr>";

    //echo "<tr>";
    //echo "<th>";
    //echo "Book Title";
    //echo "</th>";
    //echo "<th>";
    //echo "Book Author";
    //echo "</th>";
    //echo "<th>";
    //echo "Book Publisher";
    //echo "</th>";
    //echo "<th>";
    //echo "Book ISBN";
    //echo "</th>";
    //echo "</tr>";

    echo "<td>";
    echo "<a href='addtolist.php?     bookname=".$bookname."&bookauthor=".$bookauthor."&bookpub=".$bookpub."&bookisbn=".$bookisbn."'>[+]</a>";

    echo "</td>";

    echo "<td>";
    echo $bookname;
    echo "</td>";

    echo "<td>";
    echo $bookauthor;
    echo "</td>";

    echo "<td>";
    echo $bookpub;
    echo "</td>";

    echo "<td>";
    echo $bookisbn;
    echo "</td>";

    echo "<td>";
    echo "<a href='deletecd.php?bookname=".$bookname."'>Delete</a>";
        echo "</td>";

    echo "</tr>";

    $count = $count + 1;

}
?>

【问题讨论】:

    标签: php html loops while-loop html-table


    【解决方案1】:
    <table border="0">
    <tr>
    <th>Book Title</th>
    <th>Book Author</th>
    <th>Book Publisher</th>
    <th>Book ISBN</th>
    </tr>
    <?php
    $count = 0;
    while ($count < $numrow)
    {
        $row = mysql_fetch_array($results);
        extract($row);
    
        echo "<tr>";
    
    
        echo "<td>";
    ...
    

    什么是静态的,保持不变。 wjat 是动态的,变成了 PHP

    【讨论】:

      【解决方案2】:

      您必须将标题移动到循环上方:

      <table border="0">
      <tr>
      <th>Book Title</th>
      <th>Book Author</th>
      <th>Book Publisher</th>
      <th>Book ISBN</th>
      </tr>
      
          <?php
          $count = 0;
          while ($count < $numrow)
          {
              $row = mysql_fetch_array($results);
              extract($row);
      
          echo "<tr>"
      
              echo "<td>";
              echo "<a href='addtolist.php?     bookname=".$bookname."&bookauthor=".$bookauthor."&bookpub=".$bookpub."&bookisbn=".$bookisbn."'>[+]</a>";
      
              echo "</td>";
      
              echo "<td>";
              echo $bookname;
              echo "</td>";
      
              echo "<td>";
              echo $bookauthor;
              echo "</td>";
      
              echo "<td>";
              echo $bookpub;
              echo "</td>";
      
              echo "<td>";
              echo $bookisbn;
              echo "</td>";
      
              echo "<td>";
              echo "<a href='deletecd.php?bookname=".$bookname."'>Delete</a>";
                  echo "</td>";
      
              echo "</tr>";
      
              $count = $count + 1;
      
          }
          ?>
      

      【讨论】:

        【解决方案3】:

        只需将标题放在循环之外,因此在开始循环之前回显,但在之后开头&lt;table&gt;

        【讨论】:

          【解决方案4】:

          将那些echos 移出您的循环。此外,您不应该在 &lt;table&gt; 标记内直接包含 &lt;br /&gt;

          【讨论】:

          • 我一发布问题就注意到了,将删除 br.. 感谢您的回复,一旦允许我也会在您的答案上打勾!非常感谢 [=
          • 通常情况下就是这样! ;)
          【解决方案5】:

          将表格标题代码移出循环。

          【讨论】:

            【解决方案6】:

            白痴!对不起各位……

            需要将 th 标签放在循环之外......我知道很简单,但在您学习时很容易错过!

            [=

            【讨论】:

            • 我想知道“your”和“you're”之间的区别对我们中的一些人也会有所帮助。
            猜你喜欢
            • 2018-07-25
            • 1970-01-01
            • 2016-04-28
            • 2015-11-28
            • 1970-01-01
            • 2014-06-19
            • 1970-01-01
            • 1970-01-01
            • 2018-07-31
            相关资源
            最近更新 更多