gpt4 book ai didi

php - 如何制作带有下拉框的 Web 表单以将数据插入关系数据库

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:31 24 4
gpt4 key购买 nike

我正忙着为我的足球队创建一个网站。我遇到的问题是创建一个带有下拉框的 Web 表单来选择和插入匹配数据。我已经能够在 phpmyadmin 中添加一个匹配项,我可以在其中选择 team_home 和 team_away,因此关系数据库似乎可以工作。

我有以下 2 个表:

团队

  • id (pk - ai)
  • 姓名

匹配

  • id (pk - ai)
  • 日期
  • team_home(外键 -> 表团队字段名称)
  • team_away(外键 -> 表团队字段名称)
  • score_home
  • 客场得分

那么我怎样才能制作一个带有下拉框的网络表单,以便我可以将匹配项添加到我的数据库中呢?

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>

插入match.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))

最佳答案

好的,您遇到了非常基本的问题。我对 PHP 了解不多,但我可以向您建议一些您可以执行的合乎逻辑的事情。

<select>
<option value="t1">Team 1</option>
<option value="t2">Team 2</option>
<option value="t3">Team 3</option>
<option value="t4">Team 4</option>
</select>

这将创建下拉框。您需要做的是在 "value""option" 标签之间设置您的团队 ID(使用 php)和团队名称。当您提交表单时,特定选定团队的“值”将在请求中传递。

好的,试试这个..

<?
...
mysql cnx code
...

$sql="SELECT id, name FROM Teams";
$result=mysql_query($sql);

$options="";

while ($row=mysql_fetch_array($result)) {

$id=$row["id"];
$name=$row["name"];
$options.="<OPTION VALUE=\"$id\">".$name;
}
?>
...
html code
...

<SELECT NAME=Teams>
<OPTION VALUE=0>Choose
<?=$options?>
</SELECT>

但不要忘记用 "form" 标签包裹它。

关于php - 如何制作带有下拉框的 Web 表单以将数据插入关系数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10015486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com