PHP下拉菜单和数据库
我是php新手。我的表单中有一个下拉菜单,下拉选项来自一个数据库,我正在尝试将下拉菜单中选定的选项插入到数据库中的一个单独的表中。查询似乎正在执行,但团队名称值没有插入到数据库中。这是表单的代码。非常感谢您的帮助PHP下拉菜单和数据库,php,database,forms,dropdown,Php,Database,Forms,Dropdown,我是php新手。我的表单中有一个下拉菜单,下拉选项来自一个数据库,我正在尝试将下拉菜单中选定的选项插入到数据库中的一个单独的表中。查询似乎正在执行,但团队名称值没有插入到数据库中。这是表单的代码。非常感谢您的帮助 <form class="form-register" method="POST" enctype="multipart/form-data"> Match Type <select class="form-control" name="MatchType" va
<form class="form-register" method="POST" enctype="multipart/form-data">
Match Type
<select class="form-control" name="MatchType" value="Match Type">
<option value="Select one">Select One</option>
<option value="T20">Twenty20 Match</option>
<option value="OneDay">One-Day Match</option>
<option value="Test">Test Match</option> </select>
Home Team
<?php
mysql_select_db('cricket_system');
$sql = "SELECT TeamName FROM teams";
echo "<select class='form-control' name='Team1' value='Team1'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='". $row['TeamName']."'>". $row['TeamName']."</option>";
}
echo "</select> ";
?>
Away Team
<?php
mysql_select_db('cricket_system');
$sql1 = "SELECT TeamName FROM teams";
$result1 = mysql_query($sql1);
echo "<select class='form-control' name='Team2' value='Team2'>";
while ($row = mysql_fetch_array($result1)) {
echo "<option value='". $row['TeamName']."'>". $row['TeamName']."</option>";
}
echo "</select> ";
?>
Date (yyyy/mm/dd)
<input type="text" id="Date" name="Date" class="form-control" placeholder="Date (yyyy/mm/dd)" required>
<br><button class="signupbutton" type="submit" name="submit" >Add Match</button> <br> <br>
</form>
<?php
include('includes/database.php');
mysql_select_db('cricket_system');
if(isset($_POST['submit'])){
$Team1 = $_POST['Team1'];
$Team2 = $_POST ['Team2'];
$MatchType = $_POST['MatchType'];
$insert = "INSERT INTO matches (Team1, Team2, Date, MatchType) values
('$Team1', '$Team2', '$Date', '$MatchType')";
$add = mysql_query($insert);
if ($add) {
echo "<script>alert('Match has been successfully added.')</script>";
}
else {
echo mysql_error();
}
}
mysql_close();
?>
匹配类型
选择一个
第220场比赛
一日比赛
测试赛
主队
客队
日期(yyyy/mm/dd)
添加匹配项
您缺少我在代码中添加的$Date变量
<form class="form-register" method="POST" enctype="multipart/form-data">
Match Type
<select class="form-control" name="MatchType" value="Match Type">
<option value="Select one">Select One</option>
<option value="T20">Twenty20 Match</option>
<option value="OneDay">One-Day Match</option>
<option value="Test">Test Match</option> </select>
Home Team
<?php
mysql_select_db('cricket_system');
$sql = "SELECT TeamName FROM teams";
echo "<select class='form-control' name='Team1' value='Team1'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='". $row['TeamName']."'>". $row['TeamName']."</option>";
}
echo "</select> ";
?>
Away Team
<?php
mysql_select_db('cricket_system');
$sql1 = "SELECT TeamName FROM teams";
$result1 = mysql_query($sql1);
echo "<select class='form-control' name='Team2' value='Team2'>";
while ($row = mysql_fetch_array($result1)) {
echo "<option value='". $row['TeamName']."'>". $row['TeamName']."</option>";
}
echo "</select> ";
?>
Date (yyyy/mm/dd)
<input type="text" id="Date" name="Date" class="form-control" placeholder="Date (yyyy/mm/dd)" required>
<br><button class="signupbutton" type="submit" name="submit" >Add Match</button> <br> <br>
</form>
<?php
include('includes/database.php');
mysql_select_db('cricket_system');
if(isset($_POST['submit'])){
$Team1 = $_POST['Team1'];
$Team2 = $_POST ['Team2'];
$Date= $_POST ['Date'];
$MatchType = $_POST['MatchType'];
$insert = "INSERT INTO matches (Team1, Team2, Date, MatchType) values
('$Team1', '$Team2', '$Date', '$MatchType')";
$add = mysql_query($insert);
if ($add) {
echo "<script>alert('Match has been successfully added.')</script>";
}
else {
echo mysql_error();
}
}
mysql_close();
?>
匹配类型
选择一个
第220场比赛
一日比赛
测试赛
主队
客队
日期(yyyy/mm/dd)
添加匹配项
您缺少我在代码中添加的$Date变量
<form class="form-register" method="POST" enctype="multipart/form-data">
Match Type
<select class="form-control" name="MatchType" value="Match Type">
<option value="Select one">Select One</option>
<option value="T20">Twenty20 Match</option>
<option value="OneDay">One-Day Match</option>
<option value="Test">Test Match</option> </select>
Home Team
<?php
mysql_select_db('cricket_system');
$sql = "SELECT TeamName FROM teams";
echo "<select class='form-control' name='Team1' value='Team1'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='". $row['TeamName']."'>". $row['TeamName']."</option>";
}
echo "</select> ";
?>
Away Team
<?php
mysql_select_db('cricket_system');
$sql1 = "SELECT TeamName FROM teams";
$result1 = mysql_query($sql1);
echo "<select class='form-control' name='Team2' value='Team2'>";
while ($row = mysql_fetch_array($result1)) {
echo "<option value='". $row['TeamName']."'>". $row['TeamName']."</option>";
}
echo "</select> ";
?>
Date (yyyy/mm/dd)
<input type="text" id="Date" name="Date" class="form-control" placeholder="Date (yyyy/mm/dd)" required>
<br><button class="signupbutton" type="submit" name="submit" >Add Match</button> <br> <br>
</form>
<?php
include('includes/database.php');
mysql_select_db('cricket_system');
if(isset($_POST['submit'])){
$Team1 = $_POST['Team1'];
$Team2 = $_POST ['Team2'];
$Date= $_POST ['Date'];
$MatchType = $_POST['MatchType'];
$insert = "INSERT INTO matches (Team1, Team2, Date, MatchType) values
('$Team1', '$Team2', '$Date', '$MatchType')";
$add = mysql_query($insert);
if ($add) {
echo "<script>alert('Match has been successfully added.')</script>";
}
else {
echo mysql_error();
}
}
mysql_close();
?>
匹配类型
选择一个
第220场比赛
一日比赛
测试赛
主队
客队
日期(yyyy/mm/dd)
添加匹配项
由于从未设置$result
变量,因此不会填充第一个下拉列表的SQL,因此$\u POST[“Team1”]
为null或空/未设置。第一个下拉列表永远不会起作用。请尝试添加以下内容:
$result = mysql_query($sql);
我的建议是添加代码,然后在两个团队下拉列表中都包含所有值后再次提交
作为一个简单的检查,在分配团队名称时请执行以下操作
$Team1 = isset($_POST['Team1']) ? $_POST['Team1'] : '';
如果这在数据库表中为Team1插入一个空值,则证明上述下拉列表是问题所在第一个下拉列表的SQL从未填充,因为$result
变量从未设置,因此$\u POST[“Team1”]
为空或未设置。第一个下拉列表永远不会起作用。请尝试添加以下内容:
$result = mysql_query($sql);
我的建议是添加代码,然后在两个团队下拉列表中都包含所有值后再次提交
作为一个简单的检查,在分配团队名称时请执行以下操作
$Team1 = isset($_POST['Team1']) ? $_POST['Team1'] : '';
如果这在数据库表中为Team1插入了一个空值,则证明上述下拉列表是问题所在您的PHP代码是否打开了错误报告功能?$sql
未被执行,因此解释了您的主团队不会出现的原因。请。已在PHP7中删除。了解使用PDO的语句,并考虑使用。只是因为你用mysql.*
;在每个问题上都发表了同样的两条评论。)您的PHP代码是否已启用错误报告功能?$sql
未执行,因此这解释了您的主团队不会出现的原因。请。已在PHP7中删除。了解使用PDO的语句,并考虑使用。只是因为你用mysql.*
;在每个问题上都发表了同样的两条评论。)最好只突出显示您修改的几行代码,而不是整个代码:)我的原始代码中有这一行,只是在这里不小心漏掉了。它仍然不起作用。为什么没有执行$sql?@UmairKhan没有错误,当警报出现,其他字段被添加到数据库中时,应该执行查询,只是数据库中的两个团队被保留为空白。您应该从select标记中删除值。您最好只突出显示您修改的几行代码,而不是整件事:)我的原始代码中就有这一点不小心错过了这里。它仍然不起作用。为什么没有执行$sql?@UmairKhan没有错误,应该是在警报出现时执行查询,其他字段被添加到数据库中,只是两个团队在数据库中被保留为空。您应该从选择标记中删除值。如果您查看我的代码,我已经有$result=mysql\u查询($sql);仍然看不到它。有一个$result1=mysql\u查询($sql1);
用于客队
,而不是主队
如果你看我的代码,我已经有$result=mysql\u查询($sql);仍然看不到它。有一个$result1=mysql\u查询($sql1)
适用于客场球队
,但不适用于主队