需要的概念帮助:表格和显示所有行

时间:2012-05-28 17:42:42

标签: php html tabular

我的网站上有一个上传系统,用户可以上传文件并撰写简要说明。每个上传都有一个相应的SQL条目。

我网站上的另一个页面将显示上传的每个文件以及有关该文件的一些特征

问题是:

如何创建包含可变行集的表,如何设置表以自动填充新行?

我有能力使用PHP,但仍然是一个新手,HTML很弱(我使用的是wysiwyg),而且对Javascript完全没有经验。

任何向正确方向轻推的人都会非常感激......

2 个答案:

答案 0 :(得分:0)

为了使用PHP使HTML表的行“动态”,您应该使用foreach()控件结构。例如,假设您有一些代码从数据库中获取数据并将其作为数组或某种实现Iterable接口的结果语句(我们将其称为$results)返回,您可以:

<table>

<thead>
   <tr>
      <th>File Name</th>
      <th>Description</th>
   </tr>
</thead>    

<tbody>
<?php
   foreach($results as $result)
   {
      // Start row
      echo("<tr>");

         echo("<td>" . $result->filename . "</td>");
         echo("<td>" . $result->description . "</td>");

      // End row
      echo("</tr>");
   } 
?>
</tbody>

</table>

答案 1 :(得分:0)

您可以使用循环根据数据库查询的结果填充表。这是我用于其中一个页面的代码:

$result = $db->query_read("SELECT dice.RollID AS `Roll`, dice.Limit AS `Limit`,
dice.Value AS `Value`, dice.Dateline AS `Dateline`, dice.Comment AS `Comment`
FROM dice
ORDER BY Dateline DESC LIMIT 25");

// ###### MAIN CODE ######
$str = '<table>
<tr><th>ID</th><th>Roll</th><th>Time</th><th>Comment</th></tr>';

while ($resultLoop = $db->fetch_array($result)) {

    $ID = $resultLoop["Roll"];
    $roll = $resultLoop["Value"] . '/' . $resultLoop["Limit"];
    $when = date('m-d-Y H:i:s', $resultLoop["Dateline"]);
    $comment = $resultLoop["Comment"];

    $str .= '<tr>
    <td>' . $ID . '</td>
    <td>' . $roll . '</td>
    <td>' . $when . '</td>
    <td>' . $comment . '</td></tr>';
}

$str .= '</table>';
echo $str;

需要注意的一点是,我使用$ db-&gt; *函数,因为它与论坛软件集成在一起。你应该使用mysqli_ *函数,如下所示:http://php.net/manual/en/book.mysqli.php