Php CodeIgniter-mysql while循环
我是比较有经验的PHP开发人员 我选择了CodeIgniter框架。到目前为止,我已经了解了它是如何使用的。直到现在,我希望能够做一个while循环 在我的控制器内,我有:Php CodeIgniter-mysql while循环,php,mysql,codeigniter,templates,Php,Mysql,Codeigniter,Templates,我是比较有经验的PHP开发人员 我选择了CodeIgniter框架。到目前为止,我已经了解了它是如何使用的。直到现在,我希望能够做一个while循环 在我的控制器内,我有: $this->load->model('Test'); $data['result'] = $this->Test->getInfo(); $this->load->view('index1', $data); 在我的模型中,我有: $result = mysql_query("SELE
$this->load->model('Test');
$data['result'] = $this->Test->getInfo();
$this->load->view('index1', $data);
在我的模型中,我有:
$result = mysql_query("SELECT * FROM users WHERE last_name='Hart'")or die(mysql_error());
$row = mysql_fetch_array( $result );
return $row;
在我看来:
echo $result[0];
但是,这仅输出找到的第一行中的第一个字段
你能帮我从数据库中检索信息吗?while循环
while循环是否发生在模型中?我只是正确地回显了结果吗?实际上,使用CodeIgniter包含的ActiveRecord类,有一种更简单的方法可以完成您想要做的事情,它允许您只返回一个结果数组。这是我的建议 您的模型将成为:
$this->db->where('last_name','Hart');
$result = $this->db->get('users');
return $result->result_array();
您可能还需要在application/config/database.php中设置数据库,并在application/config/autoload.php中加载数据库类:
要显示此信息,正确使用MVC模式,控制器应将从模型获取的信息传递给视图。要做到这一点,通常需要执行以下操作:
$data['myinfo'] = $this->test->getInfo();
$this->load->view('test_view',$data);
然后必须在applications/views/test_view.php中创建一个类似这样的视图:
我建议您在开始创建应用程序之前先阅读本手册,因为CodeIgniter包含的库可以极大地简化和加快整个过程。好的,mysql\u fetch\u数组一次只返回一行,因此您需要在mysql\u fetch\u数组调用周围放置while循环 差不多 而$row=mysql\u fetch\u array$result{ //保存/处理数据 } 但是,我只想使用codeigniters库来加载db,然后使用它: $this->load->database; $result=$this->db->querySELECT*来自last_name='Hart'所在的用户; $result=$result->result\u数组; //检查数据并处理错误
返回$result[0]好的,太好了!我在哪里声明数据库连接详细信息?那么我是否也要重复它呢?我刚刚在帖子中抛出了该信息,我将再次编辑它,以添加正确显示该信息的信息。@hart1994-阅读文档了解数据库连接的详细信息!非常感谢,这项工作没有任何问题。谢谢你抽出时间。非常感谢!
$data['myinfo'] = $this->test->getInfo();
$this->load->view('test_view',$data);
<h1>Some HTML goes here</h1>
<?php
foreach($myinfo as $row) {
echo $row['field'];
}
?>
<p>Some more HTML goes here</p>