我是使用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>
我做错了什么?
答案 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。干杯