データベースフィールドを使用してフォームフィールドに動的にデータを入力する方法を理解しようとすると問題が発生します。私が使用しているコードは次のとおりです。
<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 / query / close関数を実行してから、結果セットを返します。
私がやりたいのは、selectタグのonchangeイベントを使用して、フィールドにデータを入力するmysqli関数を実行するphpスクリプトを実行することです。結果セットのデータを使用してフィールドのinnerHTMLを動的に編集するには、JavaScriptを使用する必要があると思いますが、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を使用してこれを実行し、javascriptに埋め込まれたphpを介してSQLを実行する方がよいでしょうか?どんな助けでもいただければ幸いです。