繁体   English   中英

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

[英]display data from database to dropdown with join table in codeigniter

我很难将数据库中的数据显示到连接表的下拉列表中。 我想加入 tb_users.id_user 和 tb_bonus.id_user

这是我尝试过的:

Model(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();
    }

Controller(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>

结果如下:

数据不显示

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

在您的代码中,您的 controller 没有传递变量 $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>

将您的 function 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()的第三个参数是boolean (TRUE/FALSE),不要传数据给它。 将数据传递给视图的唯一方法是第二个参数。

https://codeigniter.com/userguide3/general/views.html

另一个文件(模型和视图)很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM