我使用下面的代码将数据插入表中。该表称为year1。
我的问题是,如果我有另一个名为year2的表,我怎么能使用相同的表单向其添加数据,同时仍然使用它添加到year1。我在想这些事情:
有一个额外的字段,用户可以输入年份的数字,例如“1”。这可以与表的名称进行比较,并将其与正确的名称进行比较。
要清楚。我希望表单提交到一个表(正确的表)而不是同时提交。
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$english = $_POST['english'];
$math = $_POST['math'];
$science = $_POST['science'];
$sql = "INSERT INTO year1 ".
"(firstname,lastname, english, math, science) ".
"VALUES('$fname','$lname',$english,$math,$science)";
mysql_select_db('education');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not enter data: ' . mysql_error());
}
header("Location: " . $_SERVER['PHP_SELF']);
//echo "Entered data successfully\n";
mysql_close($conn);
}
else
{
?>
<?php } ?>
<p>Create a new student</p>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
Firstname: <input name="fname" type="text" id="fname"><br>
Lastname: <input name="lname" type="text" id="lname"><br>
English mark:
<input name="english" type="number" id="english"><br>
Math's mark:
<input name="math" type="number" id="math"><br>
Science mark:
<input name="science" type="number" id="science"><br>
<input name="create" type="submit" id="create" value="Submit">
</form>
答案 0 :(得分:-1)
不清楚你的最终目标是什么。如果您希望在每次提交时将一个提交插入到两个表中,或者您希望每次提交都进入正确的表,但一次只能进入一个表。
如果你想每次插入两个表,那么只需用数据创建另一个sql_query。
如果你想让它只进入一个表,但每次都是正确的表,然后在html表单中添加年份的另一个输入,然后在mysql中添加一个if语句:
// using a ternary. if year is selected use it, if not use year 1
$table = ($_POST['year']) ? $_POST['year'] : 'year1';
$sql = "INSERT INTO $table ".
"(firstname,lastname, english, math, science) ".
"VALUES('$fname','$lname',$english,$math,$science)";
或者您可以在此表中放入另一个字段,并将所有信息放在一个表中,但表格可能会非常大。