使用codigniter不显示数据库中的值

时间:2017-01-28 14:22:13

标签: php codeigniter

我是使用codeigniter的新手。 我正在尝试显示数据库中的项目,但我不知道为什么它不起作用。 你能帮帮我吗?

我的控制器

function Usuario extends CI_Controller{
    function construct(){
        parent::__construct();
        $this->load->model('usuario_m');
    }
    public function modificar_usuario(){
        $id_usuario = 1;
        $this->load->model('usuario_m');
        $data['resultado'] = $this->usuario_m->ver_datos_usuario($id_usuario);
        $this->load->view('paginas/modificar_usuario',$data);

    }

这是我的模特:

public function ver_datos_usuario($id_usuario)
{

    $this->db->select('nombre','apellido','nro_ci', 'direccion','email','telefono','password');
    $this->db->where('id_usuario', $id_usuario);
    $this->db->from('usuarios');
    $query = $this->db->get();
    return $resultado = $query->result();

}

这是我的观点:(编辑)

<!DOCTYPE>
<head>
<html>
<body>
<?php 
foreach ($data as $d){?>
    <label>Nombre: </label>
    <input type="text" value="<?php echo $d->nombre;?>" />
<?php } ?> 
</body>
</html>

我做错了什么?

3 个答案:

答案 0 :(得分:2)

更改此

foreach ($data as $d){?>

如下

foreach($resultado as $d){?>

因为您要发送resultado来查看$data数组,所以现在$resultado可以作为模型的返回结果进行访问

还有一个建议

而是返回return $resultado = $query->result();之类的结果,使用此return $query->result();

答案 1 :(得分:1)

只是为了好玩。阅读有关codeigniter结果格式的文档。https://www.codeigniter.com/userguide3/database/results.html

这样你也可以实现这样......

视图

foreach ($resultado as $d){?>
    <label>Nombre: </label>
    <input type="text" value="<?php echo $d['nombre'];?>" />
<?php } ?> 

模型

将返回$resultado = $query->result();更改为return $query->result_array();

注意:

1. result_array()以数组格式返回结果。

2. result()以对象格式返回结果。

答案 2 :(得分:1)

使用$ resultado而不是在foreach迭代中使用$ data。干杯