PHP 生成动态表
通常,我们将 HTML 用于表格。但是,我们需要我们的站点动态地从数据库中提取字段并动态地将内容合并到 HTML 表中。
本教程教授了两种在 php 中生成动态表的简单方法。
在 PHP 中使用 while
循环生成动态表
在第一个例子中,我们使用 while
循环和 if
语句来生成这些表格。
首先,我们设置一个递增变量 $dynamictable
,然后启动 while
循环。每个表格行将包含 20 个表格单元格 <td>
和总共 20 行。
我们还动态地使用换行符和结束标记。
<!DOCTYPE html>
<body>
<div align="center">
<form action="table.php" method="post">
<input type="submit" value="Generate Dynamic Table" name="table">
<table border="2">
我们使用表单文本字段来使用 isset()
函数。当用户使用 while
循环或 for
循环单击 Generate Dynamic Table
时。
isset()
函数设置为 true
,然后执行代码。这是不必要的,但可以让你更动态地控制你的网页。
<?php
if(isset($_POST['table'])){
//initize incrementing varibale
$dynamictable = 0;
//start while loop
while ($dynamictable < 200)
{
// set modulus operator to divide table rows automatically
if($dynamictable%20 == 0)
{
//table row starts
echo "<tr>".PHP_EOL;
}
echo "<td>".$dynamictable."</td>".PHP_EOL;
//each time while loop increments table cell
$dynamictable++;
if($dynamictable%20 == 0)
{
//table row closes
echo "</tr>".PHP_EOL;
}
} // while loop closes
} // if isset condition closes
?>
输出:
在 PHP 中使用 for
循环生成动态表
尽管有多种方法可以使用 for
循环生成动态表,但这个简单的代码将有助于完成大多数任务。
我们还使用 mt_rand
,为每个表格单元格分配一个唯一编号。
<?php
//set table row and colums limit
$R = 10;
$C = 20;
echo "<table border=1>";
//start for loop and set rows limit
if(isset($_POST['forlooptable'])){
for($i=1;$i<=$R;$i++)
{
echo "<tr>";
//start for loop to set cols limit
for($j=1;$j<=$C;$j++){
//we are generating random numbers in each table cell
echo '<td>' . mt_rand($i, $i*100) . mt_rand($j, $j*100) . '</td>'; //mt_rand function randomly generates a number
}
echo "</tr>";
}
echo "</table>";
}
?>
</table>
</form>
</div>
</body>
</html>
Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.
LinkedIn