0

私はCIにかなり慣れていません。たくさんの顧客情報を保存している顧客データベースがあります。また、現在の顧客情報を更新するための更新コントローラーを作成しました。更新フォームは新しい顧客フォームと同じフォームですが、データベースから古いデータを取得するために取得した値です。私の問題は、すべてのデータをプルして、ドロップダウンフィールドを除く適切なフィールドに表示することです。これを修正する方法はありますか?

コントローラ:

function edit_customer($id){
    $data['success']=0;
    if($_POST){
        $data_customer=array(
            'first_name'=>$_POST['first_name'],
            'last_name'=>$_POST['last_name'],
            'phone'=>$_POST['phone'],
            'email'=>$_POST['email'],
            'website'=>$_POST['website'],
            'business_name'=>$_POST['business_name'],
            'business_add'=>$_POST['business_add'],
            'business_cityState'=>$_POST['business_cityState'],
            'cc_type'=>$_POST['cc_type'],
            'cc_number'=>$_POST['cc_number'],
            'cc_exp'=>$_POST['cc_exp'],
            'cc_cvd'=>$_POST['cc_cvd'],
            'billing_add'=>$_POST['billing_add'],
            'billing_zip'=>$_POST['billing_zip'],
            'package'=>$_POST['package'],
            'assigned_zip_code'=>$_POST['assigned_zip_code'],
            'active'=>1
        );
        $data_customer['active'] = 1;
        $this->customer->update_customer($id,$data_customer);
        $data['success']=1;
    }
    $data['customer']=$this->customer->get_customer($id);

    $this->load->view('header');
    $this->load->view('edit_customer',$data);
    $this->load->view('footer');

}

モデル:

function update_customer($id, $data_customer){
    $this->db->where('id', $id);
    $this->db->update('customers', $data_customer);
}

ドロップダウンを表示:

<label for="cc_type">Credit Card Type:</label>
                <select name="cc_type" value="<?=$customer['cc_type'] ?>">
                  <option></option>
                  <option>Visa</option>
                  <option>Mastercard</option>
                  <option>American Express</option>
                  <option>Discover</option>
                </select>
4

1 に答える 1

1

オプションを選択するには、要素にselected属性を追加する必要があります。<option>

例えば:

<select name="type">
  <option>a</option>
  <option>b</option>
  <option selected="selected">c</option>
  <option>d</option>
</select>​

ここでそれを見る:http://jsfiddle.net/3M4xv/

したがって、コードでは、次のようなことを行うことができます。

<select name="cc_type">
  <option <?php echo ($customer['cc_type']=='Visa')?'selected="selected"':''; ?>>Visa</option>
  <option <?php echo ($customer['cc_type']=='Mastercard')?'selected="selected"':''; ?>>Mastercard</option>
  <option <?php echo ($customer['cc_type']=='American Express')?'selected="selected"':''; ?>>American Express</option>
  <option <?php echo ($customer['cc_type']=='Discover')?'selected="selected"':''; ?>>Discover</option>
</select>

それが役に立てば幸い :)

于 2012-10-04T17:51:27.867 に答える