簡體   English   中英

PHP編輯表A,顯示在文本框中,然后將其保存到表B

[英]PHP edit TABLE A, display into textbox then save it into TABLE B

表CREW(A)-用戶ID,名稱,用戶名,狀態
表數據(B)-用戶ID,名稱,用戶名,密碼,月份,狀態

記錄來自表a 我的想法來解決這個問題:

表a中搜索記錄,編輯記錄,為密碼和月份添加新的文本框,然后將其保存到表b中

我已成功從表a中提取記錄,但無法將其保存到表b中。 它能夠保存記錄,但只保存user_id和month,其余的列則丟失。

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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM