我创建了一个包含两个文本框和表格的表单。一个提交按钮,当我输入行数&列并单击提交按钮,行数和行数在表格中生成列表结构,当我在该表中输入数据时,我想将该数据保存到数据库中。如果您有任何演示示例,请在紧急情况下向我提出,请提前致谢..
这是我的PHP代码:
<?php
include_once "dreportCreation.php";
{
if(isset($_POST['submit']))
function displaydata($column,$rows)
{
echo "<table border='1' align='center'>";
for($i = 0;$i<$_POST['column'];$i++)
{
echo "<tr>".$j."</tr>";
for($j = 0; $j <$_POST['rows'];$j++)
{
echo "<td>" ."<input type=\"text\" name='$i'>"."</td>";
}
}
echo "</table>";
}
}
?>
<html>
<head>
<title>aa</title>
</head>
<body>
<form name="reportCreation" method="post" action="dd.php">
<label for='Table'>Define Table</label>
<label for='rows'>Row</label>
<input type="text" name="column"></input>
<label for='column'>Column</label>
<input type="text" name="rows"></input>
<input type="submit" name="submit" value="submit" onclick="displaydata();">
</form>
</body>
</html>
答案 0 :(得分:0)
您的代码存在许多问题,首先,您正在定义名为displaydata
的PHP函数,但在单击提交时调用具有相同名称的javascript函数。所以页面重新加载并在表单外部(和<html>
标签之前)发送输入,前提是你在php内的任何地方调用函数...
至于输入,您应该为每列创建一个数组输入,如下所示:
echo "<table border='1' align='center'>";
for($i = 0;$i<$_POST['column'];$i++)
{
echo "<tr>".$j."</tr>";
for($j = 0; $j <$_POST['rows'];$j++)
{
echo "<td>" ."<input type=\"text\" name='column_$i[$j]'>"."</td>"; // you should provide a beter name than simly a number ... just saying :)
}
}
echo "</table>";
这样,当您获得有关php的信息时,您将在$_POST['i']['j']
上获得一个数组,并且可以将它们全部保存。否则,您只能获得每列的最后一个输入。
一个工作示例可能是:
<?php
include_once "dreportCreation.php";
function displaydata($column,$rows)
{
echo "<table border='1' align='center'>";
for($i = 0;$i<$_POST['column'];$i++)
{
echo "<tr>".$j."</tr>";
for($j = 0; $j <$_POST['rows'];$j++)
{
echo "<td>" ."<input type=\"text\" name='column_$i[$j]'>"."</td>";
}
}
echo "</table>";
}
?>
<html>
<head>
<title>aa</title>
</head>
<body>
<form name="reportCreation" method="post" action="dd.php">
<label for='Table'>Define Table</label>
<label for='rows'>Row</label>
<input type="text" name="column"></input>
<label for='column'>Column</label>
<input type="text" name="rows"></input>
<input type="submit" name="submit" value="submit">
<?Php
if (isset($_POST['submit'])) displaydata(); // Show data INSIDE form
?>
</form>
</body>
</html>
顺便说一句,您仍需要在帖子上检测发送的数据是否已保存。像if (isset($_POST['column_0'])) { //start saving stuff }
这样的东西就可以了。