2016-03-03 162 views
1

我已經創建了HTML表單,點擊提交按鈕後所有值都存儲在MySQL數據庫中。HTML表單定義插入數據庫

我想創建編輯表單的功能。點擊Edit後,我正在考慮按鈕表單應該與新表單完全相同,只需將所有填充值插入到數據庫即可。

我該如何做到這一點?我以爲喜歡存儲HTML代碼的值與數據庫(從<form></form>),但我不知道如果這是好主意,它是可能的。

我真正形成有超過100場,但簡化它看起來像:

HTML表單:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<title>Add Record Form</title> 
</head> 
<body> 
<form action="insert.php" method="post"> 
    <p> 
     <label for="firstName">First Name:</label> 
     <input type="text" name="firstname" id="firstName"> 
    </p> 
    <p> 
     <label for="lastName">Last Name:</label> 
     <input type="text" name="lastname" id="lastName"> 
    </p> 
    <p> 
     <label for="emailAddress">Email Address:</label> 
     <input type="text" name="email" id="emailAddress"> 
    </p> 
    <input type="submit" value="Submit"> 
</form> 
</body> 
</html> 

PHP代碼插入到數據庫:

<?php 
/* Attempt MySQL server connection. Assuming you are running MySQL 
server with default setting (user 'root' with no password) */ 
$link = mysqli_connect("localhost", "root", "", "demo"); 

// Check connection 
if($link === false){ 
    die("ERROR: Could not connect. " . mysqli_connect_error()); 
} 

// Escape user inputs for security 
$first_name = mysqli_real_escape_string($link, $_POST['firstname']); 
$last_name = mysqli_real_escape_string($link, $_POST['lastname']); 
$email_address = mysqli_real_escape_string($link, $_POST['email']); 

// attempt insert query execution 
$sql = "INSERT INTO persons (first_name, last_name, email_address) VALUES ('$first_name', '$last_name', '$email_address')"; 
if(mysqli_query($link, $sql)){ 
    echo "Records added successfully."; 
} else{ 
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); 
} 

// close connection 
mysqli_close($link); 
?> 
+0

是的,它是可能的。你必須點擊編輯獲取所有數據,然後填寫表格。看看這個教程 - http://www.startutorial.com/articles/view/php-crud-tutorial-part-3/ –

+0

另外,閱讀使用PHP的現代連接方法時準備好的語句。 – Strawberry

回答

1

您可以通過查詢數據庫中的所有值來實現該目的:

$result = mysqli_query($link, "SELECT * from persons WHERE UserId = '$UserId'"); 
while ($row = mysqli_fetch_assoc($result)) { 
    $first_name = $row['first_name']); 
    $last_name = $row['last_name']); 
    $email_address = $row['email_address']); 
} 

mysqli_close($link); 

value屬性然後echo

<label for="firstName">First Name:</label> 
<input type="text" name="firstname" id="firstName" value=<?php echo $first_name ?>"> 

<label for="lastName">Last Name:</label> 
<input type="text" name="lastname" id="lastName" value=<?php echo $last_name ?>"> 

<label for="emailAddress">Email Address:</label> 
<input type="text" name="email" id="emailAddress" value=<?php echo $email_address ?>"> 
+0

謝謝你的答案,但我怎樣才能設置這些變量?就像是? '$ last_name =「選擇姓氏從表WHERE UserId = $ UserId' – Infinity

+0

@Infinity更新後包括查詢,希望它會幫助你!:) – Panda

+0

再次感謝你,似乎將工作! – Infinity