首页 \ 问答 \ 从数据库加载表到下拉列表CodeIgniter(Load table from database to dropdown CodeIgniter)

从数据库加载表到下拉列表CodeIgniter(Load table from database to dropdown CodeIgniter)

我将表加载到form_dropdown时遇到问题。 我尝试过任何与我同样麻烦的解决方案,但它不起作用。 这是控制器代码:

<?php
class Registrasi extends Superuser_Controller
{
    public $data = array(
        'halaman' => 'registrasi',
        'main_view' => 'program/administrasi/registrasi_list',
        'title' => 'Data Registrasi',
    );

    public function __construct()
    {
        parent::__construct();
        $this->load->model('program/administrasi/Registrasi_model', 'registrasi_model');
    }

    public function index()
    {
        $registrasi = $this->registrasi_model->get_all_registrasi_data();

        $this->data['registrasiData'] = $registrasi;

        $this->load->view($this->layout, $this->data);
    }

    public function tambah()
    {
        $this->data['namaNegara'] =  $this->registrasi_model->get_nama_negara();
        $this->data['main_view'] = 'program/administrasi/registrasi_form';
        $this->data['form_action'] = site_url('program/administrasi/registrasi/tambah');

        // Data untuk form.
        if (! $_POST) {
            $registrasi = (object) $this->registrasi_model->default_value;
        } else {
            $registrasi = $this->input->post(null, true);
        }   

        // Validasi.
        if (! $this->registrasi_model->validate('form_rules')) {
            $this->data['values'] = (object) $registrasi;
            $this->load->view($this->layout, $this->data);
            return;
        }
    }
}

这是型号代码:

<?php
class Registrasi_model extends MY_Model
{
    protected $_tabel = 'tb_registrasi';    
    protected $form_rules = array(
        array(
            'field' => 'Negara_Tujuan',
            'label' => 'Negara Tujuan',
            'rules' => 'trim|xss_clean|required|max_length[50]'
        )
    );

    public $default_value = array(
        'Negara_Tujuan' => ''
    );

    public function get_nama_negara()
    {
        $query = $this->db->query('SELECT Nama_Negara FROM tb_negara_tujuan');
        return $query->result();
    }
}

这是视图代码:

<div class="container">
    <h2>Form Registrasi</h2>
    <hr>
    <?php echo form_open($form_action, array('id'=>'myform', 'class'=>'myform', 'role'=>'form')) ?>
    <div class="container">
        <div class="row">
            <div class="form-group has-feedback <?php set_validation_style('Negara_Tujuan')?>">
                <?php echo form_label('Negara Tujuan', 'negara_tujuan', array('class' => 'control-label')) ?>
                <?php
                foreach($namaNegara as $row)
                    {
                        echo form_dropdown('NegaraTujuan', $row->Nama_Negara);
                    }
                ?>
                <?php set_validation_icon('Negara_Tujuan') ?>
                <?php echo form_error('Negara_Tujuan', '<span class="help-block">', '</span>');?>
            </div>

        <?php echo form_button(array('content'=>'Simpan', 'type'=>'submit', 'class'=>'btn btn-primary', 'data-confirm'=>'Anda yakin akan menyimpan data ini?')) ?>
        </div>
    </div>
    <?php echo form_close() ?>
</div>

我遇到的麻烦是:为foreach()提供的参数无效


I have trouble with loading the table to the form_dropdown. I have tried any solution from the same trouble with me but its not working. Here's the controller code:

<?php
class Registrasi extends Superuser_Controller
{
    public $data = array(
        'halaman' => 'registrasi',
        'main_view' => 'program/administrasi/registrasi_list',
        'title' => 'Data Registrasi',
    );

    public function __construct()
    {
        parent::__construct();
        $this->load->model('program/administrasi/Registrasi_model', 'registrasi_model');
    }

    public function index()
    {
        $registrasi = $this->registrasi_model->get_all_registrasi_data();

        $this->data['registrasiData'] = $registrasi;

        $this->load->view($this->layout, $this->data);
    }

    public function tambah()
    {
        $this->data['namaNegara'] =  $this->registrasi_model->get_nama_negara();
        $this->data['main_view'] = 'program/administrasi/registrasi_form';
        $this->data['form_action'] = site_url('program/administrasi/registrasi/tambah');

        // Data untuk form.
        if (! $_POST) {
            $registrasi = (object) $this->registrasi_model->default_value;
        } else {
            $registrasi = $this->input->post(null, true);
        }   

        // Validasi.
        if (! $this->registrasi_model->validate('form_rules')) {
            $this->data['values'] = (object) $registrasi;
            $this->load->view($this->layout, $this->data);
            return;
        }
    }
}

Here's the model code:

<?php
class Registrasi_model extends MY_Model
{
    protected $_tabel = 'tb_registrasi';    
    protected $form_rules = array(
        array(
            'field' => 'Negara_Tujuan',
            'label' => 'Negara Tujuan',
            'rules' => 'trim|xss_clean|required|max_length[50]'
        )
    );

    public $default_value = array(
        'Negara_Tujuan' => ''
    );

    public function get_nama_negara()
    {
        $query = $this->db->query('SELECT Nama_Negara FROM tb_negara_tujuan');
        return $query->result();
    }
}

Here's the view code:

<div class="container">
    <h2>Form Registrasi</h2>
    <hr>
    <?php echo form_open($form_action, array('id'=>'myform', 'class'=>'myform', 'role'=>'form')) ?>
    <div class="container">
        <div class="row">
            <div class="form-group has-feedback <?php set_validation_style('Negara_Tujuan')?>">
                <?php echo form_label('Negara Tujuan', 'negara_tujuan', array('class' => 'control-label')) ?>
                <?php
                foreach($namaNegara as $row)
                    {
                        echo form_dropdown('NegaraTujuan', $row->Nama_Negara);
                    }
                ?>
                <?php set_validation_icon('Negara_Tujuan') ?>
                <?php echo form_error('Negara_Tujuan', '<span class="help-block">', '</span>');?>
            </div>

        <?php echo form_button(array('content'=>'Simpan', 'type'=>'submit', 'class'=>'btn btn-primary', 'data-confirm'=>'Anda yakin akan menyimpan data ini?')) ?>
        </div>
    </div>
    <?php echo form_close() ?>
</div>

The trouble I'm having is: Invalid argument supplied for foreach()


原文:https://stackoverflow.com/questions/36356480
更新时间:2022-05-28 20:05

最满意答案

我相信IE的盒子模型会混淆Nivo代码。

添加这个CSS规则似乎解决了这个问题:

#slider { height: 355px; }

I believe something about IE's box model confuses the Nivo code.

Adding this CSS rule seems to fix it:

#slider { height: 355px; }

相关问答

更多
  • 也许在身体的Nivo为Nivo加载你的脚本,以确保它不会在head运行并导致任何类型的timeout问题。 一旦DOM了解到存在img ,它就会继续,并且该图像将在其同时继续加载HTML的其余部分时加载。 也许所有的img都没有下载,因此Nivo Slider无法正常渲染。