首页 > 解决方案 > 如何在一种形式的codeigniter中使用foreach获取数据

问题描述

我想知道在 Codeigniter 中最相关的方法。我实际上是用它来填充<options> </options>表格

<div class="form-group">
<label for="int">Clients Id <?php echo form_error('clients_id') ?></label>
<select class="form-control select2 select2-hidden-accessible" se="width: 100%;">   
<center><option selected="selected">--- Select ---</option></center>
<?php
foreach ($invoices as $invoices) {
?>  
<option class="form-control select2" value=" <?php echo $invoices->clients_id; ?>"><?php echo $invoices->first_name; ?> 
</option>
<?php
}
?></select>
</div>
<div class="form-group">
<label for="int">Suppliers Id <?php echo form_error('suppliers_id') ?></label>
<select class="form-control select2 select2-hidden-accessible" se="width: 100%;">   
<center><option selected="selected">--- Select ---</option></center>
<?php
foreach ($invoices as $invoices) {
echo "<pre>"; print_r($invoices);die;
?>  
<option class="form-control select2"  value=" <?php echo $invoices->service_id; ?>"><?php echo $invoices->service_name; ?> 
</option>
<?php
}
?></select>

</div>

这个功能在我的模型中。有没有最好的方法来执行。

    function join() {
        $this->db->select('*');    
$this->db->from('invoices');
$this->db->join('clients', 'invoices.id = clients.id');
$this->db->join('services', 'invoices.id = services.id');

      $query = $this->db->get();
      return $query->result();

        }

是不是正确的方法。调用发票数据。实际上,整个代码都可以正常工作,但是当我调用foreach()它时,会显示错误。先感谢您。

public function create() 
    {
        $data = array(
            'button' => 'Create',
            'action' => site_url('invoices/create_action'),
        'id' => set_value('id'),
        'clients_id' => set_value('clients_id'),
        'services_id' => set_value('services_id'),
        'suppliers_id' => set_value('suppliers_id'),
        'contractors_id' => set_value('contractors_id'),
        'charges_id' => set_value('charges_id'),
        'particulars' => set_value('particulars'),
        'details' => set_value('details'),
        'price' => set_value('price'),
        'date' => set_value('date'),
        'due' => set_value('due'),
        'paid' => set_value('paid'),
    );
        $this->load->view('invoices_form', $data);
    }

标签: phpformscodeigniter

解决方案


首先使用echo $this->db->last_query();将此代码放在controller您编写的位置检查您的查询$data['invoices'],然后检查其是否正常工作,然后在您的view部分中使用以下代码。

<div class="form-group">
    <label for="int">Clients Id <?php echo form_error('clients_id') ?></label>
    <select class="form-control select2 select2-hidden-accessible" style="width: 100%;">   
        <center><option selected="selected">--- Select ---</option></center>
        <?php
            foreach ($invoices as $row) 
            {

                echo '<option class="form-control select2" value="'.$row['client_id'].'">'.$row['first_name'].'</option>';
            }
        ?>
    </select>
</div>
<div class="form-group">
    <label for="int">Suppliers Id <?php echo form_error('suppliers_id') ?></label>
    <select class="form-control select2 select2-hidden-accessible" se="width: 100%;">   
        <center><option selected="selected">--- Select ---</option></center>
        <?php
            foreach ($invoices as $row) 
            {

                echo '<option class="form-control select2"  value="'.$row['service_id'].'">'.$row['service_name'].'</option>'
            }
        ?>
    </select>
</div>

推荐阅读