gpt4 book ai didi

php - 值在提交表单时发生变化(下拉表单)

转载 作者:行者123 更新时间:2023-11-29 05:14:52 27 4
gpt4 key购买 nike

不幸的是,我想不出比我使用的标题更好的标题了。所以我的问题是我有一个连接到数据库并保存各种信息的表单。我能够创建、读取和更新此数据,但是在不更改任何数据的情况下进行更新时会出现任何数据问题。

它的作用是允许我通过使用文本输入和下拉菜单等表单功能来编辑玩家/用户数据。

所以本质上问题是,如果我打开它来编辑一个预先存在的播放器然后按下提交按钮而不触及任何其他内容,名字和姓氏将是相同的;但是,团队 ID 和位置将在数据库中更改为 0。如果我要检查元素,它会显示正确的数字;在本例中是(Team ID = 3 and Position = 6)。

这里是数据库查询(PDO):

$query = "SELECT * FROM players, teams WHERE playerid = ? AND players.teamid = teams.teamid";
$stmt = $conn->prepare($query);
$stmt->execute(array($_GET['id']));
$info = $stmt->fetchAll(PDO::FETCH_ASSOC)[0];

注意:此查询获取表单所需的所有数据,并且可以完美地提取这些数据。

现在,表单是我认为问题的根源所在。这是从同一个 PHP 文件中取出的完整表格:

<form role="form" action="" method="post">
<!-- text input -->
<div class="form-group">
<label>First Name</label>
<input type="text" name="firstName" class="form-control" placeholder="<?php echo $info['firstName']; ?>" value="<?php echo $info['firstName']; ?>" />
</div>
<div class="form-group">
<label>Last Name</label>
<input type="text" name="lastName" class="form-control" placeholder="<?php echo $info['lastName']; ?>" value="<?php echo $info['lastName']; ?>" />
</div>
<div class="form-group">
<label>Team ID</label><br/>
<select class="form-control" name="teamid">
<option value="<?php echo $info['teamid']; ?>" disabled="enabled" selected="selected"><?php echo $info['name']; ?></option>
<?php
$sql = "SELECT * FROM teams";
$stmt = $conn->prepare($sql);
$stmt->execute();
$i = 0;
while ($teamListRow = $stmt->fetch(PDO::FETCH_ASSOC)) {
$teamListArray[$i]['teamid'] = $teamListRow['teamid'];
$teamListArray[$i]['name'] = $teamListRow['name'];
echo "<option value='{$teamListArray[$i]['teamid']}'>{$teamListArray[$i]['name']}</option>";
$i++;
}
?>
</select>
</div>
<div class="form-group">
<label>Position</label><br/>
<select class="form-control" name="position">
<option value="<?php echo $info['position']; ?>" disabled="enabled" selected="selected">
<?php
if($info['position'] == 1) {
echo "1 - Loosehead Prop";
} elseif($info['position'] == 2) {
echo "2 - Hooker";
} elseif($info['position'] == 3) {
echo "3 - Tighthead Prop";
} elseif($info['position'] == 4) {
echo "4 - Second Row";
} elseif($info['position'] == 5) {
echo "5 - Second Row";
} elseif($info['position'] == 6) {
echo "6 - Blindside Flanker";
} elseif($info['position'] == 7) {
echo "7 - Openside Flanker";
} elseif($info['position'] == 8) {
echo "8 - Number Eight";
} elseif($info['position'] == 9) {
echo "9 - Scrum-Half";
} elseif($info['position'] == 10) {
echo "10 - Fly-Half";
} elseif($info['position'] == 11) {
echo "11 - Left Wing";
} elseif($info['position'] == 12) {
echo "12 - Inside Centre";
} elseif($info['position'] == 13) {
echo "13 - Outside Centre";
} elseif($info['position'] == 14) {
echo "14 - Right Wing";
} elseif($info['position'] == 15) {
echo "15 - Full Back";
} else {
echo "16/20 - Reserve";
}

?>
</option>
<option value='1'>1 - Loosehead Prop</option>
<option value='2'>2 - Hooker</option>
<option value='3'>3 - Tighthead Prop</option>
<option value='4'>4 - Second Row</option>
<option value='5'>5 - Second Row</option>
<option value='6'>6 - Bindside Flanker</option>
<option value='7'>7 - Openside Flanker</option>
<option value='8'>8 - Number Eight</option>
<option value='9'>9 - Scrum-Half</option>
<option value='10'>10 - Fly-Hald</option>
<option value='11'>11 - Left Wing</option>
<option value='12'>12 - Inside Centre</option>
<option value='13'>13 - Outside Centre</option>
<option value='14'>14 - Right Wing</option>
<option value='15'>15 - Full Back</option>
<option value='16'>16 - Reserve</option>
<option value='17'>17 - Reserve</option>
<option value='18'>18 - Reserve</option>
<option value='19'>19 - Reserve</option>
<option value='20'>20 - Reserve</option>
</select>
</div>
</div>
<div class="box-footer">
<input type="submit" name="submit" class="btn btn-primary" value="Submit" style="margin-left:-10px;" />
</div>

</form>

注意:一切正常,直到我点击提交!一旦我点击提交,两个下拉菜单将它们的结果更改为 0

P.s:对不起,如果我解释得不好,请不要打我,也请尽量提出建设性的批评,毕竟我还在学习!

最佳答案

发生这种情况是因为 disabled="enabled" selected="selected"在你的选项中为两个<select>下拉菜单。

首先您要禁用该选项,然后将其标记为选中。

删除 disabled="enabled"并尝试..

关于php - 值在提交表单时发生变化(下拉表单),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34460864/

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