Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter-mysql while循环_Php_Mysql_Codeigniter_Templates - Fatal编程技术网

Php CodeIgniter-mysql 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

我是比较有经验的PHP开发人员

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

在我的控制器内,我有:

$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>