2012-04-04 53 views
0

我正忙于为我的足球队创建一个网站。我遇到的问题是创建一个带下拉框的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 , CONSTRAINT matches_ibfk_1 FOREIGN KEY (team_home) REFERENCES teams (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)参考文献队(名称))

+0

你需要创建一个html页面,可能带有一个表单元素 - 尽管如果你对javascript感到满意的话,你可以使用ajax。你有没有任何代码? – AlexMA 2012-04-04 16:48:53

+0

我还没有任何代码,因为我根本不知道从哪里开始。我知道如何在html中制作一个基本的下拉框,但是应该从小组表中检索这些选项。 – Johan 2012-04-04 17:05:28

+0

您可以创建页面,但使用PHP变量而不是静态文本作为您的选项的记录,并将这些