ここでこの例を使用していると言うことから始めます。
市/州などに合わせて作成されていますが、データベースで機能させようとしているだけなので、従業員情報を引き出していますが、まだ市/州のテキストがいくつかの場所にあるため、少し奇妙に見えるかもしれません.
また、現時点では、3つすべてではなく、2つのドロップダウンでこれを機能させようとしています。
とにかく、これは私がこれまでに持っているものであり、それを機能させるのに苦労しています。誰かが私が間違っているところを指摘できますか?
これがindex.phpにあるものです。これは基本的にまったく同じです。データベース内のいくつかの (偽の) 従業員 ID に関連付けられている従業員 ID と国名を交換しただけです。
<form method="post" name="form1">
<table border="0" cellpadding="0" cellspacing="0" width="60%"><tbody>
<tr>
<td width="150">Country</td>
<td width="150"><select style="background-color: #ffffa0" name="country" onchange="getState(this.value)">
<option>Select Country</option><option value="1">mg05</option>
<option value="2">aa01</option></select>
</td>
</tr>
<tr>
<td>State</td>
<td>
<p id="statediv">
<select style="background-color: #ffffa0" name="state">
<option>Select Country First</option></select>
</td>
</tr>
</tbody></table>
</form>
これは、ajax リクエストを開始するindex.phpの下部にある JavaScriptです。彼が mysql データベースを使用している例では、ODBC を使用して Access データベースにアクセスしていることに注意してください。
<script type="text/javascript">
function getState(countryId)
{
var strURL="findState.php?country="+countryId;
var req = getXMLHTTP();
if (req)
{
req.onreadystatechange = function()
{
if (req.readyState == 4)
{
// only if "OK"
if (req.status == 200)
{
document.getElementById('statediv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
以下は、findState.phpファイルにあるものです。彼が mysql データベースを使用し、ODBC を使用して Access データベースにアクセスしているという事実を説明するために、いくつかのことを調整する必要がありました。
<?
$country=$_POST['country'];
//make connection to database, bail if no connection
$connection = odbc_pconnect('db','','');
if (!$connection) { exit("Connection Failed: " . $connection); }
//retrieve usernames and passwords
$query = "SELECT (EName) FROM LoginTable WHERE EmployeeID='$country'";
$result = odbc_exec($connection, $query);
?>
<select name="state">
<option>Select State</option>
<? while($row = odbc_fetch_row($result,'EName')){ ?>
<option value=<?=$row['EName']?>><?=$row['EName']?></option> //Error on this line
<? } ?>
</select>
それが私に与えているのは、私がコメントしたエラー Undefined variable: Row on line 22 があるということだけです。このエラーが 2 回表示されます。これは、$row を参照する両方のインスタンスが無効であることを意味します。
ヘルプや洞察はありますか?よろしくお願いします!!