-1
<!-- html code -->
<form id="wpsc-settings-form" action="" method="post">
<tr class="rate_row">
<td> 
    <input type="text" style="width:160px;" value="3000" name="zipcode[]">
</td>
<td>
    <select multiple="" name="city[]">
        <option value="Abbotsford">Abbotsford</option>
        <option value="Aberfeldie">Aberfeldie</option>
        <option value="Airport West">Airport West</option>
    </select>
</td>
 <td> 
   <input type="text" style="width:160px;" value="3000" name="zipcode[]">
</td>
<td>
    <select multiple="" name="city[]">
        <option value="Abbotsford">Abbotsford</option>
        <option value="Aberfeldie">Aberfeldie</option>
        <option value="Airport West">Airport West</option>
    </select>
</td>
</tr>    
</form>

ここに画像の説明を入力

<!-- php code -->
<?php
        $options = $_POST['zipcode'];
        $city = $_POST['city'];  
        $serializeoption = serialize($city);

        foreach($city as $key => $value){
            $simple_shipping_options_city[$options[$key]] = $value;
        }

        echo "<pre>";
        print_r($simple_shipping_options_city);
        echo "</pre>";

        update_option('wpsc_simple_shipping_city', $simple_shipping_options_city); // update query
?>  

上記のコードは次のように動作します。1 つの都市を選択すると、出力は次のようになります。

 Array
(
[3000] => Abbotsford
[2000] => Airport West
)  

複数の都市を選択すると、入力フィールドの値が渡されません。

複数の都市に対して単一の郵便番号を保存したい。上記のコードの改善案を教えてください。

4

1 に答える 1