使用codeigniter不显示数据库中的值
I'm new using codeigniter. I'm trying to display items from my database, but I don't know why it doesn't work. Could you help me, please?
My Controller
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);
}
This is my Model:
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();
}
And this is my view: (Edited)
<!DOCTYPE>
<head>
<html>
<body>
<?php
foreach ($data as $d){?>
<label>Nombre: </label>
<input type="text" value="<?php echo $d->nombre;?>" />
<?php } ?>
</body>
</html>
What I'm doing wrong?
我是使用codeigniter的新手。 我正在尝试显示数据库中的项目,但我不知道 知道为什么它不起作用。 请你帮我吗? p>
我的控制器 p>
功能Usuario扩展CI_Controller {
function construct(){
parent :: __ construct();
$ this-&gt; load-&gt; model('usuario_m');
}
public function modificar_usuario(){
$ id_usuario = 1;
$ this-&gt; load-&gt; model('usuario_m');
$ data ['resultado'] = $ this-&gt; usuario_m-&gt; ver_datos_usuario($ id_usuario);
$ this-&gt; load-&gt; view('paginas / modificar_usuario',$ data);
}
code> pre>
这是我的模型: p>
\ n
public function ver_datos_usuario($ id_usuario)
{
$ this-&gt; db-&gt; select('nombre','apellido','nro_ci','direccion','email ','telefono','password');
$ this-&gt; db-&gt; where('id_usuario',$ id_usuario);
$ this-&gt; db-&gt; from('usuarios');
$ query = $ this-&gt; d b-&gt; get();
返回$ resultado = $ query-&gt; result();
}
code> pre>
这是我的观点 :(已编辑) p>
&lt;!DOCTYPE&gt;
&lt; head&gt;
&lt; html&gt;
&lt; body&gt;
&lt;?php
foreach($ data as $ d){?&gt;
&lt; label&gt; Nombre:&lt; / label&gt;
&lt; input type =“text”value =“&lt;?php echo $ d-&gt; nombre;?&gt;” /&gt;
&lt;?php}?&gt;
&lt; / body&gt;
&lt; / html&gt;
code> pre>
我做错了什么? p>
div>
Change this
foreach ($data as $d){?>
as following
foreach($resultado as $d){?>
because you are sending resultado
to view in $data
array so now $resultado
can be access as returned result from model
One more suggestion
Instead return result like return $resultado = $query->result();
use this return $query->result();
Just for fun.Read docs which is about codeigniter result's format.here https://www.codeigniter.com/userguide3/database/results.html.
So that you can also achieve like this...
In view:
foreach ($resultado as $d){?>
<label>Nombre: </label>
<input type="text" value="<?php echo $d['nombre'];?>" />
<?php } ?>
In model:
Change return $resultado = $query->result();
to return $query->result_array();
Notes:
1.result_array()
returns result in array format.
2.result()
returns result in object format.
Instead of using $data in the foreach iteration use $resultado. Cheers