我的解決方案允許連接任意HTML輸入元素和數據庫字段。這個代碼可以放在一個可重用的函數中,在任何你需要的情況下。
將數據庫字段命名爲與HTML表單元素的名稱屬性相同。然後,你就可以做一些類似如下:
<!doctype html>
<form>
<input name="email" />
<input name="age" />
<input name="website" />
</form>
在PHP中,讀取HTML文件的內容到DOMDocument構造:所有輸入的
$dom = new DomDocument(file_get_contents("MyPage.html"));
然後你就可以得到的DOMNodeList元素,簡單地:
$xpath = new DomXPath($dom);
$nodeList = $xpath->query("//form/input");
讓我們假設你的數據庫中的數據是在關聯數組代表呼籲$data
:
$data = $mysql->query("yourQuery");
foreach($nodeList as $node) {
$key = $node->getAttribute("name");
if(array_key_exists($key, $data)) {
$node->setAttribute("value", $data[$key]);
}
}
然後,您可以像平常一樣渲染頁面,方法是將DOM輸出到瀏覽器。
BONUS:保存表單數據到數據庫中,因爲HTML輸入字段的名稱相匹配的數據庫字段名,你可以通過$ _POST數組你的DAL。
在任何'.php'頁面,您可以插入將在服務器上運行的代碼。因此,執行'」/>'會從DB中插入電子郵件地址作爲html字段的值。 –
爲什麼你需要AJAX來做到這一點?只需將PHP變量直接放入您的PHP代碼中即可。 –
我在考慮Ajax,所以我可以對JavaScript進行所有更改,這比PHP更容易。問題是我並不想在同一個文件中混合使用PHP,HTML和JavaScript。例如,對於PHP,我只想包括o需要一個PHP文件,但不能像Jeff Shaver給出的例子那樣混合代碼。 – user2417250