我有一個入口表單來將數據發佈到MySQL數據庫(使用提交按鈕),它工作正常。現在我想編輯它,接下來的&上面的按鈕,以獲得下一個和上一個記錄,如果需要也可以編輯它們。如何獲取HTML表單上的添加,編輯,下一個和上一個按鈕
我已經在互聯網上搜索,但無法根據我的要求找到解決方案。
我有一個入口表單來將數據發佈到MySQL數據庫(使用提交按鈕),它工作正常。現在我想編輯它,接下來的&上面的按鈕,以獲得下一個和上一個記錄,如果需要也可以編輯它們。如何獲取HTML表單上的添加,編輯,下一個和上一個按鈕
我已經在互聯網上搜索,但無法根據我的要求找到解決方案。
首先,你應該確保你有記錄的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,則運行編輯代碼並填充字段/啓用編輯功能。
親愛的胡先生,我有一個ID爲整數的表格作爲主鍵和自動增量。我的html表單通過提交按鈕在其中插入值。我放了另一個按鈕「previous」調用另一個php文件,但不知道另一個php文件將如何填充相同形式的值。 –
複製並粘貼表單,或者使用'$ _GET'變量,例如'?edit'並檢查是否正在編輯。 我已經更新了我的答案,所以讓我知道是否有幫助。 –
下一步和上一步按鈕是什麼?對於編輯,您希望創建一個PHP文件並通過ajax調用它,所以無論何時當用戶點擊編輯記錄時,他的ID和更改都會發送到該PHP文件。 –