首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CodeIgniter - mysql while循环

问CodeIgniter - mysql while循环
EN

Stack Overflow用户
提问于 2011-09-23 05:04:38
回答 2查看 24.2K关注 0票数 0

我是一个相对有经验的PHP开发人员。

我选择了CodeIgniter框架。到目前为止,我已经了解了它是如何使用的。到目前为止,我希望能够执行一个while循环。

在我的控制器中,我有:

代码语言:javascript
复制
$this->load->model('Test');
$data['result'] = $this->Test->getInfo();
$this->load->view('index1', $data);

在我的模型中,我有:

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM users WHERE last_name='Hart'")or die(mysql_error());  
$row = mysql_fetch_array( $result );    
return $row;

在我看来:

代码语言:javascript
复制
echo $result[0];

但是,这只输出找到的第一行中的第一个字段。

你能帮我从一个数据库- while循环中检索信息吗?

while循环会在Model中发生吗?我只是正确地说出了结果吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-23 05:13:07

实际上,有一种更简单的方法可以使用CodeIgniter包含的ActiveRecord类来完成您想要做的事情,它允许您只返回一组结果。这是documentation。

你的模型将变成:

代码语言:javascript
复制
$this->db->where('last_name','Hart');
$result = $this->db->get('users');
return $result->result_array();

您可能还需要在application/config/database.php中设置数据库,并在application/config/autoload.php中装载数据库类

代码语言:javascript
复制
$autoload['libraries'] = array('database');

为了显示这些信息,正确地使用MVC模式,您的控制器应该将它从模型获得的信息传递给视图。要执行此操作,通常需要执行以下操作:

代码语言:javascript
复制
$data['myinfo'] = $this->test->getInfo();
$this->load->view('test_view',$data);

然后,您必须在applications/views/test_view.php中创建如下视图

代码语言:javascript
复制
<h1>Some HTML goes here</h1>
<?php
foreach($myinfo as $row) {
    echo $row['field'];
}
?>
<p>Some more HTML goes here</p>

我建议您在开始创建应用程序之前阅读CodeIgniter User Guide,因为CodeIgniter包含的库可以极大地简化和加快整个过程。

票数 9
EN

Stack Overflow用户

发布于 2011-09-23 05:20:36

mysql_fetch_array一次只能返回一行,所以您需要在mysql_fetch_array调用周围放入while循环

就像这样

while($row = mysql_fetch_array($result)) { //save/process data }

不过,我只会使用codeigniters库来加载数据库,然后使用它:

$this->load->database();

代码语言:javascript
复制
  `$result = $this->db->query("SELECT * FROM users WHERE last_name='Hart'");`
代码语言:javascript
复制
  `$result = $result->result_array();`
代码语言:javascript
复制
  `//check for data and handle errors`
代码语言:javascript
复制
  `return $result[0]`
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7521508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档