我有問題試圖找出如何使用數據庫字段動態填充表單字段。我正在使用的代碼如下:使用MySQL數據庫中的表數據動態編輯HTML字段
<form id="notes" name="notes" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<table width="700" border="0.5" align="center">
<tr>
<td colspan="6" style="text-align:center">
<select name="noteselect" id="noteselect" onchange="<?php ?>">
<option value="new">
Add new...
</option>
<?php
if(isset($_COOKIE['deceasedID']))
{
$SqlStatement = "SELECT PK_Notes, Note_Title, Date_Entered FROM Notes WHERE FK_Deceased = '".$_COOKIE['deceasedID']."'";
$res = ExecuteSQL($SqlStatement, true);
while($row = mysqli_fetch_array($res))
{
echo "<option value='".$row['PK_Notes']."'>".$row['Note_Title']." - ".$row['Date_Entered']."</option>";
}
$error = " ";
}
在這個片段中,該功能的ExecuteSQL運行mysqli_connect /查詢/關閉功能,然後返回一個結果集
我希望做的是使用select標籤的onchange事件來運行一個php腳本,該腳本運行一個mysqli函數,該函數用數據填充字段。我想我必須使用JavaScript來動態編輯字段的innerHTML與結果集中的數據,但是如何將javascript嵌入到php函數中?我試着做以下,請記住,在$的SQLStatement變量包含SQL語句,該語句不工作,我直接在數據庫運行它,它的工作原理:
$res = ExecuteSQL($SqlStatement, true)
$row = mysqli_fetch_array($res)
<script type="text/javascript">document.getElementById(*fieldname*).value = $row['db_row_name']</script>
然而,這確實沒什麼,所以我不知道這裏有什麼錯。是不是可以使用PHP函數來運行JavaScript和動態更新字段?或者是否會更好地使用100%的JavaScript來做到這一點,並通過嵌入式PHP在JavaScript中運行任何SQL?任何幫助,將不勝感激。
PHP腳本在服務器上執行。 Javascript在客戶端執行。他們不是在同一時刻執行的。如果你想在select中選擇一個值之後做一些事情,你必須使用AJAX調用。當用戶選擇一個選項時,Javascript向你的服務器發送一個AJAX調用(到一個新的腳本),然後當腳本生成JSON響應時(在示例中),在客戶端,JS正在處理響應並修改UI 。 – MatRt 2013-03-19 05:16:33