当我输入行数和行数时,我会创建一个表单列然后那个行数&将生成列表我想将输入该表的值保存到数据库中。请任何人都可以帮助我.. 我的PHP代码:
<?php
global $Hostname;
global $Username;
global $Password;
global $Database_name;
function getConnection()
{
$Hostname = "localhost";
$Username ="root";
$Password ="";
$Database_name="labdata";
$oMysqli = new mysqli($Hostname,$Username,$Password,$Database_name);
return($oMysqli);
}
if(isset($_POST['submit']))
{
echo "<table border='1' align='center'>";
for($iii = 0;$iii <$_POST['column'];$iii++)
{
echo "<tr>".$jjj."</tr>";
for($jjj = 0; $jjj <$_POST['rows'];$jjj++) //loop for display no. of rows.
{
echo "<td>" ."<input type=\"text\" name='$iii'>"."</td>";
}
}
echo "</table>";
echo"<form name=\"aa\" method=\"post\">";
echo "<input type=\"submit\" name=\"save\" value=\"save\">";
echo "</form>";
}
$TestName = $_POST['testname'];
$Result = $_POST['result'];
$Unit = $_POST['unit'];
$NormalRange = $_POST['NormalRange'];
if(isset($_POST['save']))
{
$InsertQuery = "INSERT INTO rct(testname,result,unit,NormalRange) VALUES('$TestName','$Result','$Unit','$NormalRange')";
$oMysqli= getConnection();
$oMysqli->query($InsertQuery);
print_r($InsertQuery);exit();
while($Row = $InsertQuery->fetch_array())
{
$TestName = $Row['testname'];
$Result = $Row['result'];
$Unit = $Row['unit'];
$NormalRange = $Row['NormalRange'];
}
}
?>
<html>
<head>
<title>Rct</title>
</head>
<body>
<form name='abc' method="post">
<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="aaa()">
</form>
</body>
</html>
答案 0 :(得分:0)
您的代码存在许多问题:
包含<input/>
的表格应位于<form name='aa'>
内。
表格中的输入应命名为$iii[]
。
[]
告诉PHP在$_POST
中创建一个包含所有行的数组,因此您可以访问第0行的$_POST[0][0]
,第2行的{0},$_POST[1][2]
,col 1等。
您似乎有向后的行和列。
<input/>
所有/
代码都缺失了。
没有包含名为testname
,result
,unit
,NormalRange
的输入的表单,那么为什么要访问这些$_POST
值?< / p>
fetch_array()
只能在SELECT
查询后使用。 INSERT
不会返回任何值。
可能是我错过的其他事情。
答案 1 :(得分:0)
首先,您必须更正输入标记
替换
<input type="text" name="column"></input>
要
<input type="text" name="column" />
其次,上面的循环必须是行循环而不是列,因为列位于行
内if(isset($_POST['submit']))
{
echo"<form name=\"aa\" method=\"post\">";
echo "<table border='1' align='center'>";
for($iii = 0;$iii <$_POST['rows'];$iii++)
{
echo "<tr>";//start Row here
for($jjj = 0; $jjj <$_POST['column'];$jjj++) //loop for display no. of rows.
{
echo "<td>" ."<input type=\"text\" name='".$iii.$jjj."'>"."</td>";//all TDs must be inside the row
}
echo "</tr>";//end row here
}
echo "</table>";
echo "<input type=\"submit\" name=\"save\" value=\"save\">";
echo "</form>";
}
当然桌子必须在表格内。
如果有帮助,请告诉我