gpt4 book ai didi

php - 如何将多个预先确定的 MySQL 字段关联并插入到单选下拉选项

转载 作者:行者123 更新时间:2023-11-29 15:44:48 25 4
gpt4 key购买 nike

我正在创建一个表单更新过程,其中使用 PHP 将多个值插入 MySQL 数据库。我已将其设置为能够手动输入特定 RecordID 并选择性别和事件名称。

这些 RecordID 应该锁定到特定的性别和事件名称,但现在您必须手动正确输入信息。

我想消除 RecordID 作为选择选项,只选择 Gender 和 EventName,它会将以下表单输入信息输入到与该 Gender 和 EventName 关联的特定 RecordID 中。

我已经能够设置手动流程。然而,我完全不知道如何建立强制关联。我还研究了 MySQL 的多个条目,但我已经了解如何做到这一点。

我的 HTML:

<form action="swimming-world-records-update.php" method="post">

<div class="form-group">
<label for="ID">ID:</label><br>
<input type="text" name="id" placeholder="Enter ID">
</div>
<br>

<div class="form-group">
<label for="gender">Gender:</label><br>
<select name="gender">
<option value="Men">Men</option>
<option value="Women">Women</option>
<option value="Mixed">Mixed</option>
</select>
</div>
<br>
<div class="form-group">
<label for="event">Event:</label><br>
<select name="event">
<option value="50m freestyle">50m freestyle</option>
<option value="100m freestyle">100m freestyle</option>
<option value="200m freestyle">200m freestyle</option>
<option value="400m freestyle">400m freestyle</option>
<option value="800m freestyle">800m freestyle</option>
<option value="1500m freestyle">1500m freestyle</option>
<option value="50m backstroke">50m backstroke</option>
<option value="100m backstroke">100m backstroke</option>
<option value="200m backstroke">200m backstroke</option>
<option value="50m breaststroke">50m breaststroke</option>
<option value="100m breaststroke">100m breaststroke</option>
<option value="200m breaststroke">200m breaststroke</option>
<option value="50m butterfly">50m butterfly</option>
<option value="100m butterfly">100m butterfly</option>
<option value="200m butterfly">200m butterfly</option>
<option value="200m IM">200m IM</option>
<option value="400m IM">400m IM</option>
<option value="400m freestyle relay">400m freestyle relay</option>
<option value="800m freestyle relay">800m freestyle relay</option>
<option value="400m medley relay">400m medley relay</option>
</select>
</div>

我的功能:

function updateRecords() {
if(isset($_POST['submit'])) {
global $connection;
$gender = $_POST['gender'];
$eventname = $_POST['event'];
$time = $_POST['time'];
$nation = $_POST['nation'];
$sname = $_POST['sname'];
$sdate = $_POST['sdate'];
$smeet = $_POST['smeet'];
$smeetlocation = $_POST['smeetlocation'];
$nation = $_POST['nation'];
$recordvideo = $_POST['recordvideo'];
$id = $_POST['id'];

$gender = mysqli_real_escape_string($connection, $gender);
$eventname = mysqli_real_escape_string($connection, $eventname);
$time = mysqli_real_escape_string($connection, $time);
$nation = mysqli_real_escape_string($connection, $nation);
$sname = mysqli_real_escape_string($connection, $sname);
$sdate = mysqli_real_escape_string($connection, $sdate);
$smeet = mysqli_real_escape_string($connection, $smeet);
$smeetlocation = mysqli_real_escape_string($connection, $smeetlocation);
$nation = mysqli_real_escape_string($connection, $nation);
$recordvideo = mysqli_real_escape_string($connection, $recordvideo);
$id = mysqli_real_escape_string($connection, $id);

$query = "UPDATE `records` SET ";
$query .= "Gender = '$gender', ";
$query .= "EventName = '$eventname', ";
$query .= "Time = '$time', ";
$query .= "NationName = '$nation', ";
$query .= "SwimmerName = '$sname', ";
$query .= "Date = '$sdate', ";
$query .= "MeetName = '$smeet', ";
$query .= "MeetLocation = '$smeetlocation', ";
$query .= "VideoURL = '$recordvideo' ";
$query .= "WHERE RecordID = $id ";

$result = mysqli_query($connection, $query);
if(!$result) {
die("Query failed." . mysqli_error($connection));
} else {
echo "Record updated!";
}
}
}

我希望能够在下拉列表中选择性别事件,并且它只会更新到锁定的关联 RecordID。

最佳答案

我还没有足够的声誉点来发表评论。在 POST 期间需要有某种方法来引用您的 record_id。如果您不想这样做,则需要使用 GenderEvent 值执行 SELECT 语句来获取 record_id 但是,如果您要更新 record_id,那么您将无法使用这些值。所以,我回到我最初的陈述。您需要在 POST 请求中发送 record_id 以用作引用。您不能仅选择GenderEvent 来更新现有记录,但没有该记录的引用,更新。

关于php - 如何将多个预先确定的 MySQL 字段关联并插入到单选下拉选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57190337/

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