如何在PHP中创建表

时间:2014-11-13 18:01:02

标签: php html-table

我想在PHP中创建一个包含33个员工编号和33个员工工资的表。我的代码中显示了使用ran()设置的每个数字。当我运行我的代码时,所有信息都出现在33列和两行中,而不是两列和33行。我该如何解决这个问题?

这是我的代码:

<? php

print "<table border ='2'><br /> ";
print "<tr>";

for ($i = 1; $i <= 33; $i = $i + 1) {


  $staffnumber = rand(100000, 600000);
  print "<th>$staffnumber";

}
print "<tr>$i";

for ($j = 1; $j <= 33; $j = $j + 1) {
  $staffsalary = rand(14000, 40000);
  print "<th>$staffsalary";
}
print "<tr>$j";



print "</tr></table>";

?>

3 个答案:

答案 0 :(得分:0)

试试这个:     

print "<table border ='2'><br /> ";

for ($i = 1; $i <= 33; $i = $i + 1) {
  print "<tr>";

  $staffnumber = rand(100000, 600000);

  print "<td>$staffnumber</td>";
  $staffsalary = rand(14000, 40000);

  print "<td>$staffsalary</td>";

  print "</tr>";
}
print "</table>";

?>

你不需要2个循环,因为它们具有相同的迭代次数

答案 1 :(得分:0)

首先,确定您的表结构。如果您不熟悉标记,则应花一点时间对其进行审核(这非常简单):http://www.mountaindragon.com/html/tables2.htm

<table border="2">
    <thead>
        <th>Number</th>
        <th>Salary</th>
    </thead>
    <tbody>
         <!--- Iterate over this sequence -->
        <tr>
            <td>1</td>
            <td>12345</td>
        </tr>
        <!-- End iteration -->
    </tbody>
</table>

然后,找到重复的部分,并将其放入循环中:

注意:

  • 使用heredoc作为初始表格代码
  • $i++循环使用for语法(而不是$i = $i +。它做同样的事情,但大多数人使用$i++
  • 不需要第二次循环 - 在第一次循环中执行所有操作
  • 另外,请勿在{{1​​}}和<td>标记之外的内容中添加内容。

..     

<tr>

答案 2 :(得分:0)

<?php

$data = array();
for($i=0; $i<33; $i++) {
    $num = rand(1,10);
    $sal = rand(1,10);
    $data[] = array($num, $sal);
}
echo render_table($data);

function render_table(array $data) {
    $html = "<table>\n";
    foreach ($data as $row) {
        $html .= "  <tr>\n";
        foreach ($row as $cell) {
            $html .= "    <td>$cell</td>\n";
        }
        $html .= "  </tr>\n";
    }
    $html .= "</table>\n";
    return $html;
}