我创建了一个PHP函数,它根据用户对列和行号的选择创建用于创建表的html代码。
因此,用户打开一个HTML页面,输入列数和行数,然后PHP生成该表的HTML代码。
但是,我喜欢它,以便PHP不会创建表的代码,而只是创建一个HTML表。
我怎样才能做到这一点?
HTML文件:
<html>
<form action="tableCode.php" method="get" />
<p> Enter the number of rows
<input type="text" name="row"/>
and the number of columns:
<input type="text" name="col"/>
<input type="submit" name="Submit" value="Submit" />
</p>
</form>
</body>
</html>
PHP文件
<?php
$row = $_GET['row'];
$col = $_GET['col'];
function makeTable($row,$col)
{
$begin = "<html> <br> <head> <br> <style> <br> table, th, td {border: 1px solid black;}
<br> </style> <br> </head> <br> <body> <br> <table style=width:100%> <br>";
for($i = 0; $i < $row; $i++)
{
$begin .= "<tr> <br>";
for($j = 0; $j < $col; $j++)
{
$begin .= "<td> Enter column data here </td> <br>";
}
$begin .= "</tr> <br>";
}
$begin .= "</table> <br> </body> <br> </html>";
echo $begin;
}
makeTable($row,$col);
?>
调用makeTable(2,2)时返回的字符串
<html>
<head>
<style>
table, th, td {border: 1px solid black;}
</style>
</head>
<body>
<table style=width:100%>
<tr>
<td> Enter column data here </td>
<td> Enter column data here </td>
</tr>
<tr>
<td> Enter column data here </td>
<td> Enter column data here </td>
</tr>
</table>
</body>
</html>
答案 0 :(得分:4)
将您的所有<
更改为<
,将所有>
更改为>
,然后从代码中删除<br>
,因为这会生成无效的HTML。如果您关心基础HTML呈现的方式,则可以将<br>
更改为\n
。
例如:
$begin .= "<tr> <br>";
成为
$begin .= "<tr>";
或
$begin .= "<tr>\n";
答案 1 :(得分:0)
HTML是一种标记语言,它不一定是&#34;运行&#34;。
您使用"<html>"
而不是<html>
输出表格,这就是它无效的原因。
答案 2 :(得分:0)
使用带有Javascript的Ajax调用,只需在PHP中“打印”,即表格的HTML代码,而不是整个页面:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({url: "tableCode.php",type:"get",data:{"row":document.getElementById("rows").value,"col":document.getElementById("cols").value}
success: function(result){
$("#div1").html(result);
}});
});
});
</script>
</head>
<body>
<p>how many rows?</p><br>
<input id="rows" value="2"/><br>
<p>how many cols?</p><br>
<input id="cols" value="2"/><br>
<div id="div1"><h2>Here will be your table</h2></div>
<button>Get the table!</button>
</body>
</html>
所以,你的php文件现在只是回显:
<?php
$row = $_GET['row'];
$col = $_GET['col'];
function makeTable($row,$col)
{
$begin = "<table style='width:100%'>\n";
for($i = 0; $i < $row; $i++)
{
$begin .= "<tr>\n";
for($j = 0; $j < $col; $j++)
{
$begin .= "<td> Enter column data here </td>\n";
}
$begin .= "</tr>\n";
}
$begin .= "</table>\n";
echo $begin;
}
makeTable($row,$col);
?>