Как получить значение выбранного параметра в режиме редактирования (codeigniter) - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть форма с опциями, когда я хочу ее отредактировать, значение возвращается как в функции создания.я хочу спросить, как получить значение, выбранное мной в функции редактирования?

вот моя модель

  //get data by id
public function get_data($id = FALSE){
    if($id === FALSE){
    $query = $this->db->get('forms');
    return $query->result_array();
    }

    $query = $this->db->get_where('forms', array('id' => $id));
    return $query->row_array();
}

мой контроллер

// get form by id
   public function get_data_id($id = NULL){


    $data['title'] = 'Update Data';

    $data['statuses'] = $this->status_model->get_status();        
    $data['form'] = $this->form_model->get_data($id);       

    if(empty($data['form'])){
        show_404();
    }

    $this->load->view('globals/header');
    $this->load->view('globals/navigation');
    $this->load->view('forms/edit_data', $data);
    $this->load->view('globals/footer'); 

}

мойредактировать представление

<?= form_open('forms/updating_data')?>
    <input type="hidden" name="id" value="<?= $form['id']?>" >
        <div class="form-group">
            <label for="name">Name</label>
            <input type="text" class="form-control" name="name" value="<?= $form['name']?>">        
        </div>           
        <div class="form-group">
            <label for="stat">Status</label>
            <select class="form-control" name="stat">
                <?php foreach($statuses as $stat):?>
                    <option value="<?= $stat['status']?>"><?= $stat['status']?></option>
                <?php endforeach; ?>
            </select>
        </div>
        <button class="btn btn-primary btn-sm" type="submit">Update</button>
        </form>

кто-нибудь может помочь?

1 Ответ

0 голосов
/ 02 декабря 2018

Вы должны убедиться, что данные, которые вы хотите редактировать (массив $form), также содержат status.

И затем вам нужно добавить оператор if в ваш выборполе, которое устанавливает выбранное значение в status, которое находится в массиве $form, например:

<select class="form-control" name="stat">
    <?php foreach($statuses as $stat):?>
        <option value="<?= $stat['status']?>"
            <?php if ($stat['status'] == $form['status']) : ?> selected<?php endif; ?>
        >
            <?= $stat['status']?>
        </option>
    <?php endforeach; ?>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...