получить значения опций из базы данных codeigniter - PullRequest
1 голос
/ 13 октября 2019

У меня есть php-форма, где я хочу выбрать параметры для поля Email из списка значений, сохраненных в таблице адресов электронной почты в базе данных. Адрес электронной почты таблицы имеет 2 поля: 1. idemailaddress и 2. адрес электронной почты, но я все еще получаю сообщение об ошибке, пытаясь получить данные. 1007 *}

function get_emailaddress_list()
{
    $this->db->order_by('emailaddress', 'ASC');
    $query = $this->db->get('emailaddress');
    if ($query->num_rows() > 0)
    {
        foreach ($query->result() as $row)
        {
            $result [$row->id] =  $row;
        }
        return $result;
    }else{
        return FALSE;
    }

}

Форма страницы

                      <div class="form-group row">
             <label  class="col-sm-3 col-form-label" for="Email">Email Address:</label>
                                        <div class="col-sm-9">
                                            <select name="Email" class="Email form-control" id="Email">
                                                <option value="" <?php echo  set_select('Email', ''); ?> >-Select-</option>
                                                <?php if($emailaddress_list){ 
                                                    foreach($emailadress_list as $emailaddress){ ?>
                                                <option value="<?php echo $emailadress->idemailaddress?>" <?php echo set_select('Email', $emailaddress->idemailaddress); ?>><?php echo $emailaddress->emailaddress?></option>
                                                <?php }
                                                    }?>
                                            </select>
                                        </div>
                                    </div>

1 Ответ

1 голос
/ 13 октября 2019

Вам не нужен цикл foreach в вашей модели, просто верните результат запроса.

function get_emailaddress_list(){
  $this->db->order_by('emailaddress', 'ASC');
  $query = $this->db->get('emailaddress');
  $data = ($query->num_rows())? $query->result():false;
  return $data;
}

Затем вы просматриваете результаты в своем представлении, чтобы создать опции выбора:

<select name="Email" class="Email form-control" id="Email">

  <?php if($emailaddress_list):?> 
      <option value="" disabled selected>-Select-</option>
    <?php foreach($emailadress_list as $row): ?>                                                    
      <option value="<?=$row->idemailaddress?>">
        <?=$row->emailaddress?>
      </option>
  <?php endforeach;?>
  <?php else:?>
     no records found
  <?php endif;?>                                 
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...