ryr*_*yan 0 php mysql templates codeigniter
我是比较有经验的PHP开发人员.
我选择了CodeIgniter框架.到目前为止,我已经了解它是如何使用的.到现在为止,我希望能够做一个while循环.
在我的控制器中我有:
$this->load->model('Test');
$data['result'] = $this->Test->getInfo();
$this->load->view('index1', $data);
Run Code Online (Sandbox Code Playgroud)
在我的模型中我有:
$result = mysql_query("SELECT * FROM users WHERE last_name='Hart'")or die(mysql_error());
$row = mysql_fetch_array( $result );
return $row;
Run Code Online (Sandbox Code Playgroud)
在我看来:
echo $result[0];
Run Code Online (Sandbox Code Playgroud)
但是,这仅输出找到的第一行中的第一个字段.
请帮我从数据库中检索信息 - 循环.
while循环是否发生在模型中?我只是正确地回应了结果吗?
实际上,使用CodeIgniter包含的ActiveRecord类可以更轻松地执行您想要执行的操作,这样您只需返回一组结果.这是文档.
你的模型会变成:
$this->db->where('last_name','Hart');
$result = $this->db->get('users');
return $result->result_array();
Run Code Online (Sandbox Code Playgroud)
您可能还需要设置数据库application/config/database.php,并在application/config/autoload.php以下位置加载数据库类:
$autoload['libraries'] = array('database');
Run Code Online (Sandbox Code Playgroud)
要显示此信息,请正确使用MVC模式,您的控制器应将其从模型获取的信息传递给视图.要做到这一点,通常你这样做:
$data['myinfo'] = $this->test->getInfo();
$this->load->view('test_view',$data);
Run Code Online (Sandbox Code Playgroud)
然后你必须创建一个这样的视图applications/views/test_view.php:
<h1>Some HTML goes here</h1>
<?php
foreach($myinfo as $row) {
echo $row['field'];
}
?>
<p>Some more HTML goes here</p>
Run Code Online (Sandbox Code Playgroud)
我建议您在开始创建应用程序之前阅读CodeIgniter用户指南,因为CodeIgniter包含的库可以极大地简化和加快整个过程.
| 归档时间: |
|
| 查看次数: |
20844 次 |
| 最近记录: |