我有问题试图找出如何使用数据库字段动态填充表单字段。我正在使用的代码如下:使用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