我正忙于为我的足球队创建一个网站。我遇到的问题是创建一个带下拉框的Web表单来选择并插入匹配数据。我已经可以在phpmyadmin中添加一个匹配项,我可以选择team_home和team_away,因此关系数据库似乎可以工作。如何使用下拉框将数据插入关系数据库
我有以下2个表:
队
- ID(PK - AI)
- 名
匹配
- ID(PK - ai)
- 日期
- team_home(外键 - >表队字段名)
- team_away(外键 - >表队字段名)
- score_home
- score_away
所以,我怎么能做出一个带下拉框的Web表单,这样我可以将匹配添加到我的数据库中?
UPDATE:
I've got the form working with drop down boxes, but I'm getting the following error when I'm submitting the form:
Error: Cannot add or update a child row: a foreign key constraint fails (
roflz
.matches
, CONSTRAINTmatches_ibfk_1
FOREIGN KEY (team_home
) REFERENCESteams
(name
))I've posted my submit form code and insertmatch.php code
提交表单代码
$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,约束matches_ibfk_1外键(team_home)参考文献队(名称))
你需要创建一个html页面,可能带有一个表单元素 - 尽管如果你对javascript感到满意的话,你可以使用ajax。你有没有任何代码? – AlexMA 2012-04-04 16:48:53
我还没有任何代码,因为我根本不知道从哪里开始。我知道如何在html中制作一个基本的下拉框,但是应该从小组表中检索这些选项。 – Johan 2012-04-04 17:05:28
您可以创建页面,但使用PHP变量而不是静态文本作为您的