我正忙着为我的足球队创建一个网站。我遇到的问题是创建一个带有下拉框的 Web 表单来选择和插入匹配数据。我已经能够在 phpmyadmin 中添加一个匹配项,我可以在其中选择 team_home 和 team_away,因此关系数据库似乎可以工作。
我有以下两张桌子:
团队
- 身份证 (pk - ai)
- 姓名
火柴
- 身份证 (pk - ai)
- 日期
- team_home(外键 -> 表团队字段名称)
- team_away(外键 -> 表团队字段名称)
- score_home
- score_away
那么如何制作带有下拉框的 Web 表单,以便将匹配项添加到我的数据库中呢?
更新:
我的表单可以使用下拉框,但是在提交表单时出现以下错误:
错误:无法添加或更新子行:外键约束失败 (
roflz
.matches
, CONSTRAINTmatches_ibfk_1
FOREIGN KEY (team_home
) REFERENCESteams
(name
))我已经发布了我的提交表单代码和 insertmatch.php 代码
提交表单代码
$sql="SELECT id, name FROM Teams";
$result=mysql_query($sql);
$options="";
while ($row=mysql_fetch_array($result)) {
$id=$row["id"];
$name=$row["name"];
$optionshometeam.="<OPTION VALUE=\"$id\">".$name;
$optionsawayteam.="<OPTION VALUE=\"$id\">".$name;
}
?>
<form action="insertmatch.php" method="post">
<SELECT NAME=Teams>
<OPTION VALUE=0>Home Team
<?=$optionshometeam?>
</SELECT>
<SELECT NAME=Teams>
<OPTION VALUE=0>Away team
<?=$optionsawayteam?>
</SELECT>
Score Home team: <input type="text" name="score_home" />
Score Away team: <input type="text" name="score_away" />
Match Date: <input type="text" name="score_away" />
<input type="submit" />
</form>
insertmatch.php 代码
mysql_select_db("roflz", $con);
$sql="INSERT INTO matches (team_home, team_away, score_home, score_away, date)
VALUES
('$_POST[team_home]','
$_POST[team_away]','
$_POST[score_home]','
$_POST[score_away]'
$_POST[date]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "Match added";
mysql_close($con);
?>
那么是什么导致了这个错误呢?
错误:无法添加或更新子行:外键约束失败(roflz.matches,CONSTRAINT matches_ibfk_1 FOREIGN KEY (team_home) REFERENCES teams (name))