最初のドロップダウンボックスが選択された後、2番目のドロップダウンボックスにデータを入力するために使用している次のコードがあります(実際にはすべてすでに作成されており、最初のドロップダウンに基づいて正しいものが表示されます:
<tr><th>Customer</th><td>
<select name='customer_id' id='customer_id'>
<option value=''>-- Select Customer --</option>
<?php
$results = Misc::customerDropDown();
while ($row = mysql_fetch_array($results)) {
echo "<option value='" . $row['customer_id'] . "'>" . $row['customer_name'] . "</option>";
}
?>
</select><span class='error'> * <?php echo $errors['customer_id']; ?></span>
</td></tr>
<?php
$results = Misc::customerDropDown();
$num_customers = mysql_num_rows($results);
$n = 1;
while ($row = mysql_fetch_array($results)) {
?>
<tr class='locations' id='locations<?= $row['customer_id'] ?>'><th>Customer Location</th><td>
<select name='customer_location<?= $n ?>'>
<option value=''>-- Customer Locations --</option>
<?
$location_results = Misc::locationDropDown($row['customer_id']);
while ($option = mysql_fetch_array($location_results)) {
echo "<option value='" . $option['location_id'] . "'>" . $option['location_name'] . "</option>";
}
?>
</select><span class='error'> * <?php echo $errors['customer_location']; ?></span></td></tr>
<? $n++;
} ?>
私が抱えている問題は、最後の「customer_location」ドロップダウンを何を試しても、送信すると他の2つが上書きされるため、常に使用されるということです。
customer_locationを配列(customer_location [])にしようとしましたが、それでは、(たとえば)3つの要素を持つ配列ではなく3つの配列があると思われます。また、(示されているように)それぞれの末尾に$ nを付けて場所に名前を付けようとしましたが、投稿を参照するときに、参照できないため、方法がわかりません。$_POST['customer_location$n']
アイデア?