2016-04-20 31 views
-1

我有一個入口表單來將數據發佈到MySQL數據庫(使用提交按鈕),它工作正常。現在我想編輯它,接下來的&上面的按鈕,以獲得下一個和上一個記錄,如果需要也可以編輯它們。如何獲取HTML表單上的添加,編輯,下一個和上一個按鈕

我已經在互聯網上搜索,但無法根據我的要求找到解決方案。

+0

下一步和上一步按鈕是什麼?對於編輯,您希望創建一個PHP文件並通過ajax調用它,所以無論何時當用戶點擊編輯記錄時,他的ID和更改都會發送到該PHP文件。 –

回答

0

首先,你應該確保你有記錄的ID是一個INTEGER,一個PRIMARY KEY一列,並設置爲AUTOINCREMENT,我們稱之爲'recordID`。

讓我們舉個例子人表模式:

CREATE TABLE people (
    recordID INTEGER PRIMARY KEY AUTOINCREMENT, 
    firstName VARCHAR(140) NOT NULL, 
    middleNames VARCHAR(250), 
    lastName VARCHAR(140) NOT NULL, 
    dateOfBirth DATE NOT NULL 
); 

要查詢的第一條記錄中,我們可以這樣做:

SELECT * FROM people WHERE recordID = 1; 

現在編輯的記錄,我們可以這樣做:

UPDATE people SET firstName="NewName" WHERE recordID = 1; 

接下來我們構建一個HTML表單來顯示/編輯此數據。

<form action="#" method="post"> 
    <input type="text" readonly="readonly" name="recordID" id="recordID" /> 
    <input type="text" name="firstName" id="firstName" /> 
    <input type="text" name="middleNames" id="middleNames" /> 
    <input type="text" name="lastName" id="lastName" /> 
    <input type="date" name="dateOfBirth" id="dateOfBirth" /> 
    <input type="submit" /> 
</form> 

最後,您創建了一些下一個和上一個按鈕來遍歷記錄並填充輸入字段,然後是一個編輯按鈕,將數據發送到服務器以更新數據庫。

如果你感覺很奢侈,可以使用SQL的INSERT INTO ... ON DUPLICATE KEY UPDATE。例如:

INSERT INTO people (firstName, lastName, middleNames, dateOfBirth) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE firstName="?", lastName="?", middleNames="?", dateOfBirth="?"; 

爲了做一個「就地編輯」,你可以添加一個變量到查詢字符串。 例如,如果您要編輯recordID = 3,則可以將URL設置爲:http://yourserver.com/person/?id=3&edit

在服務器端,您可以使用isset($_GET['edit'])檢查編輯。如果返回true,則運行編輯代碼並填充字段/啓用編輯功能。

+0

親愛的胡先生,我有一個ID爲整數的表格作爲主鍵和自動增量。我的html表單通過提交按鈕在其中插入值。我放了另一個按鈕「previous」調用另一個php文件,但不知道另一個php文件將如何填充相同形式的值。 –

+0

複製並粘貼表單,或者使用'$ _GET'變量,例如'?edit'並檢查是否正在編輯。 我已經更新了我的答案,所以讓我知道是否有幫助。 –

相關問題