gpt4 book ai didi

PHP编辑表A,显示到文本框然后保存到表B

转载 作者:行者123 更新时间:2023-11-29 22:26:28 25 4
gpt4 key购买 nike

TABLE CREW(A) - user_id、姓名、用户名、状态
表数据(B) - user_id、名称、用户名、密码、月份、状态

记录来自表a。我解决这个问题的想法:

表a中搜索记录,编辑该记录添加新的密码和月份文本框,然后将其保存到表b中。

我已成功从表a中提取记录,但无法将其保存到表b中。它能够保存记录,但只保存 user_id 和月份,其余列丢失。

updateform.php:

<?PHP
$sql = "SELECT * FROM crew WHERE user_id = $sel_record";
$result = mysql_query($sql, $con) or die (mysql_error());
if(!$result) {
print "<h1>Something has gone wrong!</h1>";
} else {
while ($record = mysql_fetch_array($result)) {
$user_id = $record['user_id'];
$lname = $record['lname'];
$username = $record['username'];
$status = $record['status'];
}
<form id = "myForm" method="POST" action = "update.php">
<tr>
<td>
<label for="user_id">Crew ID*:</label></td><td>
<input type="text" name="user_id" id="user_id" value="$user_id" >
</td>
<tr>
<td>
<label for="lname">LastName*:</label></td><td>
<input type="text" name="lname" id="lname" value="$lname" >
</td>
</tr>
<tr>
<td>
<label for="username">Username*:</label></td><td>
<input type="text" name="username" id="username" value="$username" >
</td>
</tr>
<tr>
<td>
<label for="password">Password*:</label></td><td>
<input type="text" name="password" id="password" value="$username" >
</td>
</tr>
<tr>
<td>
<label for="month">Month*:</label></td><td>
<input type="text" name="month" id="month" value="$month" >
</td>
</tr>
<tr>
<td>
<label for="status">Status*:</label></td><td>
<input type="text" name="status" id="status" value="$status" >
</td>
</tr>
<tr>
<td id="mySubmit">
<input type="submit" name="submit" value="Modify Record">
</td>
</form>
?>

***update.php
<?PHP
include "connect.php";
$user_id = $_POST[user_id];
$lname = $_POST[lname];
$username = $_POST[username];
$password = $_POST[password];
$status = $_POST[status];
$month = $_POST[month];

$sql = "INSERT INTO data (user_id, lname, username, password, month, status) VALUES ('$user_id', '$lname', '$username', '$password', '$month', '$status')";
$result=mysql_query($sql) or die (mysql_error());`enter code here`
?>

最佳答案

首先,您的表单不正确,您必须更改 input 元素的 name 属性以接受输入数组。当前代码仅使用最后一个。

<form id = "myForm" method="POST" action = "update.php">
<tr>
<td>
<label for="user_id">Crew ID*:</label></td><td>
<input type="text" name="users[user_id][user_id]" id="user_id" value="$user_id" >
</td>
<tr>
<td>
<label for="lname">LastName*:</label></td><td>
<input type="text" name="users[user_id][lname]" id="lname" value="$lname" >
</td>
</tr>
<tr>
<td>
<label for="username">Username*:</label></td><td>
<input type="text" name="users[user_id][username]" id="username" value="$username" >
</td>
</tr>
<tr>
<td>
<label for="password">Password*:</label></td><td>
<input type="text" name="users[user_id][password]" id="password" value="$username" >
</td>
</tr>
<tr>
<td>
<label for="month">Month*:</label></td><td>
<input type="text" name="users[user_id][month]" id="month" value="$month" >
</td>
</tr>
<tr>
<td>
<label for="status">Status*:</label></td><td>
<input type="text" name="users[user_id][status]" id="status" value="$status" >
</td>
</tr>
<tr>
<td id="mySubmit">
<input type="submit" name="submit" value="Modify Record">
</td>
</form>

update.php 文件也需要更新。

$postUsers = $_POST['users'];

$sqlValues = array();

foreach ($postUsers as $user)
{
$user_id = $user[user_id];
$lname = $user[lname];
$username = $user[username];
$password = $user[password];
$status = $user[status];
$month = $user[month];

$sqlValues[] = "('$user_id', '$lname', '$username', '$password', '$month', '$status')";
}


$sql = "INSERT INTO data (user_id, lname, username, password, month, status) VALUES " . implode(",", $sqlValues);

另一件事,不要再使用 mysql_* 命令,而是使用 PDO。

关于PHP编辑表A,显示到文本框然后保存到表B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30232481/

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