xmlhttp.responsetext を使用して mysql データを取得する JavaScript があります。ドロップダウンボックスのフォームデータを入力するためにそれを使用してきましたが、うまく機能しています。ただし、フォームに 2 番目のドロップダウン メニューを追加する必要があり、正しく機能していません。
何が起こっているかというと、各ドロップダウンがそれぞれのテーブルからのみデータを取得する必要があるときに、両方のドロップダウンに 2 つの異なるテーブルからのデータが取り込まれています。
これを理解するのに役立つかもしれません、ありがとう。
これがJavaScriptコードです。
<script type="text/javascript">
var counter = 1;
function addInput(div){
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
var newdiv = document.createElement(div);
newdiv.innerHTML = "<table><tr><td>Line Item " + (++counter) + "</td></tr><tr><td width='190'>Item: <select name='item[]'>" + xmlhttp.responseText.split( "[BRK]" ) + "</select></td><td width='100'>Qty: <input name='quantity[]' type='text' size='2' /></td><td width='500'>Description: <input name='description[]' type='text' size='60' /></td><td width='150'>Amount: <input name='amount[]' type='text' size='6' /></td><td>Tax Rate: <select name='taxrate[]'>" + xmlhttp.responseText.split( "BRK" ) + "</select></td></tr></table><br />";
}
document.getElementById(div).appendChild(newdiv);
}
xmlhttp.open("GET", "dropdownquery.php", false);
xmlhttp.send();
}
</script>
そしてここにphpがあります。
<?php
include $_SERVER['DOCUMENT_ROOT']."/connect.php";
$result = mysql_query("SELECT * FROM salesitem");
$result2 = mysql_query("SELECT * FROM salestax");
while($row = mysql_fetch_array($result)) {
echo "<option value=\"".$row['name']."\">".$row['name']."</option>";
}
echo "[BRK]";
while($row2 = mysql_fetch_array($result2)) {
echo "<option value=\"".$row2['amount']."\">".$row2['name']."</option>";
}
echo "[BRK]";
?>