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

Php 如何制作带有下拉框的web表单以将数据插入关系数据库,php,mysql,database,drop-down-menu,relational,Php,Mysql,Database,Drop Down Menu,Relational,我正忙着为我的足球队创建一个网站。我遇到的问题是创建一个带有下拉框的web表单来选择和插入匹配数据。我已经能够在phpmyadmin中添加一个匹配项,在这里我可以选择主队和客队,因此关系数据库似乎可以工作 我有以下两张表: 团队 id(pk-ai) 名字 比赛 id(pk-ai) 日期 团队主页(外键->表团队字段名) 团队离开(外键->表团队字段名) 得分回家 得分 那么,我如何制作一个带有下拉框的web表单,以便将匹配项添加到数据库中呢 更新: 我让表单使用下拉框,但在提交表单时出现

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

我有以下两张表:

团队
  • id(pk-ai)
  • 名字
比赛
  • id(pk-ai)
  • 日期
  • 团队主页(外键->表团队字段名)
  • 团队离开(外键->表团队字段名)
  • 得分回家
  • 得分
那么,我如何制作一个带有下拉框的web表单,以便将匹配项添加到数据库中呢

更新: 我让表单使用下拉框,但在提交表单时出现以下错误:

错误:无法添加或更新子行:外键约束失败(
roflz
匹配项
,约束
匹配项\u ibfk\u 1
外键(
team\u home
)引用
teams
name

我已经发布了提交表单代码和insertmatch.php代码

提交表格代码 那么是什么导致了这个错误呢


错误:无法添加或更新子行:外键约束失败(roflz.matches、constraint matches\u ibfk\u 1外键(team\u home)引用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”中设置团队id(使用php),并在的“option”标记之间设置团队名称。当您提交表单时,特定选定团队的“值”将在请求中传递

好的,试试这个

<?
...
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> 

...
html代码
...
选择

但是别忘了用“form”标记将其包装起来。

好的,您有一个非常基本的问题。 我对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”中设置团队id(使用php),并在的“option”标记之间设置团队名称。当您提交表单时,特定选定团队的“值”将在请求中传递

好的,试试这个

<?
...
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> 

...
html代码
...
选择

但别忘了用“表单”标签将其包装起来。

这个问题有点宽泛,在确定结果之前,有很多内容需要覆盖,它几乎是在问如何建立一个网站,而这本身可能需要几年的时间来学习。这就是说,这两个链接应该给你什么,你需要开始


请注意phpmyadmin背后有多少代码(只需查看它的源代码),您会发现要做到这一点没有简单的一键式方法

这个问题有点宽泛,在确定结果之前必须涵盖很多内容,它几乎是在问如何建立一个网站,而这本身可能需要几年的时间来学习。这就是说,这两个链接应该给你什么,你需要开始


请注意phpmyadmin背后有多少代码(只需查看它的源代码),您会发现要做到这一点没有简单的一键式方法

您可以尝试以下方法

<?php
$db = "database_name";
$con = mysql_connect("localhost","username","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db($db, $con);

$query = "SELECT * FROM YOUR_TABLE";
$result = mysql_query($query);
?>

此外,在html主体部分的表单内部,您可以使用它生成一个下拉框

<select>
<?php
while($info = mysql_fetch_array($result)){
$name = $info["table_column_name"];
echo '<option value="'.$name.'">'.$name.'</option>';
}
?>
</select>


希望这有帮助<代码>:)

您可以尝试以下方法

<?php
$db = "database_name";
$con = mysql_connect("localhost","username","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db($db, $con);

$query = "SELECT * FROM YOUR_TABLE";
$result = mysql_query($query);
?>

此外,在html主体部分的表单内部,您可以使用它生成一个下拉框

<select>
<?php
while($info = mysql_fetch_array($result)){
$name = $info["table_column_name"];
echo '<option value="'.$name.'">'.$name.'</option>';
}
?>
</select>


希望这有帮助<代码>:)错误:无法添加或更新子行:外键约束失败(roflz.matches,constraint matches\u ibfk\u 1外键(team\u home)引用teams(name))

这就是你所需要知道的,诸如此类……外键约束失败诸如此类……引用团队


您正在更新匹配项,但由于匹配项对团队使用外键,因此无法在不在团队中的匹配项中添加某些内容

错误:无法添加或更新子行:外键约束失败(roflz.matches,constraint matches\u ibfk\u 1外键(团队\主页)引用团队(名称))

这就是你所需要知道的,诸如此类……外键约束失败诸如此类……引用团队


您正在更新匹配项,但由于匹配项对团队使用外键,因此无法在不在团队中的匹配项中添加内容

,您将需要创建一个html页面,其中可能包含表单元素——不过如果您熟悉javascript,可以使用ajax。你有任何代码吗?我还没有任何代码,因为我根本不知道从哪里开始。我知道如何在html中创建一个基本的下拉框,但是应该从teams表中检索选项。您可以创建页面,但使用PHP变量而不是元素的静态文本。阅读如何在PHP中创建循环;您可以循环遍历每个需要成为选项的记录,并将这些记录写入到中的页面。您将需要创建一个html页面,其中可能包含一个表单元素——不过如果您熟悉javascript,您可以使用ajax。你有任何代码吗?我还没有任何代码,因为我根本不知道从哪里开始。我知道如何在html中创建一个基本的下拉框,但是应该从teams表中检索选项。您可以创建页面,但使用PHP变量而不是元素的静态文本。阅读如何在PHP中创建循环;您可以循环遍历每个需要成为选项的记录,并将这些记录写入到中的页面,这是一种方法,但我需要dro