Code Igniter 3:获取带有点字段名称的数据时出错

问题描述 投票:0回答:1

我是学习 Codeigniter 3 的新手。我的页面上有一些错误。 该页面未显示表格中的任何数据。

这是我的第一个表结构: Pengguna (User) table :

这是第二张表: Karyawan (Employee) table :

这是我的模型文件(User_model.php):

class User_model extends CI_Model
{
    function get_user()
    {
        $result = $this->db->query(
            "SELECT * FROM pengguna 
            LEFT JOIN karyawan ON karyawan.`id.emp` = pengguna.`id.emp`
            LEFT JOIN level ON level.`id.level` = pengguna.`id.level` 
            LEFT JOIN divisi ON divisi.`id.divisi` = pengguna.`id.divisi`");
        return $result;
        
    }
}

这是我的控制器文件(User.php):

class User extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        //$this->load->model('Auth');
        //$this->auth->cek_login();
        $this->load->model('User_model');
        //$this->User_model->get_user();
    }

    public function index()
    {
        if(isset($_SESSION['is_login']) == TRUE)
        {
            $this->load->view("home/header"); 
            //$this->load->view('user/form_user');
            
            $data['pengguna'] = $this->User_model->get_user(); 
            $this->load->view('user/form_user',$data);
            //redirect('user');
            $this->load->view("home/footer.php");
        }
        else
        {
            $this->load->view('login/form_login');
        }
    }
    
}

最后一个是子文件夹中的查看文件(

user/form_user.php
):

<table>
        <thead>
            <tr>
                <th scope="col">#</th>
                <th scope="col">Username</th>
            </tr>
        </thead>
        <tbody>
        <?php
            $count = 0; 
            //foreach($pengguna->result() as $row[]) : $count++;
            foreach($pengguna->result() as $row) : $count++;
            {
            ?>
                <tr>
                    <td scope="row">
                        <?php echo $count; ?>
                    </td>
                    <td><?php echo $row->'id.level';?></td>
                </tr>
            <?php
            }
            endforeach;
            ?>
        </tbody>
        </table>

结果显示字段为空数据

['id.level']

谢谢你

我想展示我的

['id.level']
现场数据

php mysql foreach codeigniter-3 field-names
1个回答
0
投票

首先,使用数据库字段作为snake_case。使用点没有任何问题。但从长远来看,它仍然会出错。


要解决您的问题,您可以更改结果格式。

在模型中

function get_user()
{
    $query = $this->db->query("");
    return $query->result_array(); # Add this
}

HTML 中

<?php foreach($pengguna as $row) : $count++; ?>
    <tr>
        <td><?php echo $count; ?></td>
        <td><?php echo $row['id.level']; ?></td>  # change this
    </tr>
<?php endforeach; ?>
© www.soinside.com 2019 - 2024. All rights reserved.