在codeigniter中使用连接表将数据库中的数据显示到下拉列表

zbsbpyhn  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(149)

我在使用连接表将数据库中的数据显示到下拉列表时遇到困难。我想将tb_users.id_user与tb_bonus.id_user连接起来
这就是我所尝试的:

产品型号(Umum_model.php):

function getNama(){
        $this->db->select('*');
        $this->db->from('tb_bonus');
        $this->db->join('tb_users', 'tb_users.id_user = tb_bonus.id_user');
        $join_query = $this->db->get();
    }

控制器(Bonus.php):

function __construct()
    {
        parent::__construct();

        $this->load->library('form_validation');
        $this->load->model('Umum_model', 'umum');

    }

    public function index()
    {
        $data = [
            'view' => 'admin/bonus',
            'active' => 'bonus',
            'sub1' => 'bonus',
        ];

        $namalengkap['namaUser'] = $this->umum->getNama();
        
        $this->load->view('template_admin/index', $data, $namalengkap);
    }

查看(bonus.php):

<select class="form-control" id="id_user" name="id_user" required>
  <option value="">No Selected</option>
    <?php foreach($namaUser as $nama){ ?>
      <option value=""><?=$nama->nama_lengkap?></option>
    <?php } ?>
</select>

结果如下:

j2qf4p5b

j2qf4p5b1#

$namalengkap = $this->umum->getNama();

在您的代码中,控制器不会将变量$namaUser传递给视图。

<select class="form-control" id="id_user" name="id_user" required>
  <option value="">No Selected</option>
    <?php foreach($namalengkap as $nama){ ?>
      <option value=""><?=$nama->{{key_of_col}}?></option>
    <?php } ?>
</select>
kqlmhetl

kqlmhetl2#

将函数index()更改为:

public function index()
    {
        $data = [
            'view' => 'admin/bonus',
            'active' => 'bonus',
            'sub1' => 'bonus',
        ];

        $data['namaUser'] = $this->umum->getNama();
        
        $this->load->view('template_admin/index', $data);
    }

$this->load->view()的第三个参数是布尔值(TRUE/FALSE),不向其传递数据。向视图传递数据的唯一方式是第二个参数。
https://codeigniter.com/userguide3/general/views.html
另一个文件(“模型”和“视图”)就可以了。

相关问题