私はプロジェクトに取り組んでいますが、何をしてもこれを正しく行うことができないようです。
db、year、manufacturer_id、models に 3 つのテーブルがあります。
ユーザーからのリクエストに基づいて、メーカーとモデルを表示したいと思います。つまり、ユーザーが Make as Ford を選択し、次に Year as 1942 を選択した場合、Model はその年に生産されたすべてのモデルのリストを返す必要があります。しかし、うまくいかないので、どこが間違っているのか教えてください。
私のデータベーステーブルは次のように設定されています。
製造元 2 列の ID (一意) と製造元
年 2 列 ID (一意) と年
model 4 列 id (一意) year (年 id テーブルに対応) manufacturer_id (manufactured id テーブルに対応) および model。
私が使用しているコードは次のとおりです。
<tr>
<td align="right" label for='formyear'>Year: </td>
<td><select name="formyear">
<?php
$sql="SELECT id,year FROM year";
$result =mysql_query($sql);
while ($data=mysql_fetch_assoc($result)){
?>
<option value ="<?php echo $data['id'] ?>" ><?php echo $data['year'] ?></option>
<?php } ?>
</select></td>
</tr>
<tr>
<td align="right" label for='formmake'>Make: </td>
<td><select name="formmake" id="formmake" onchange="return populateModel(this.value);">
<?php
$sql="SELECT id,manufacturer FROM manufacturer";
$result =mysql_query($sql);
while ($data=mysql_fetch_assoc($result)){
?>
<option value ="<?php echo $data['id'] ?>" ><?php echo $data['manufacturer'] ?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td align="right" label for='formmodel'>Model: </td>
<td><select name="formmodel" id="formmodel">
<?php
$sql="SELECT id,manufacturer_id,model FROM model WHERE year='1'";
$result =mysql_query($sql);
while ($data=mysql_fetch_assoc($result)){
?>
<option value ="<?php echo $data['id'] ?>" ><?php echo $data['model'] ?></option>
<?php } ?>
</select>
私はこれを台無しにしているようです。これを見て助けてくれたすべての人に感謝します。