求助一个简单的ci程序
本人是个新手但对php非常感兴趣,最近几天遇到了问题 在ci里面 如何将数据库的数据 写入到model中 ,然后在controller 在如何加载 最后在view展示出来只需写个简单的程序,参考一下 谢谢啊 数据库随便写几个字段 能展示出来 就行了
model, controller,view的代码 越简单越好 再次谢谢了啊 本帖最后由 yinzhili 于 2009-7-31 22:23 编辑
1# wondely
控制器(Controller): test.php (此文件保存在 system/application/controllers 目录下)
<?php
class Test extends Controller{
function Test(){
parent::Controller();
$this->load->model('test_model');
}
function index(){
$data['message']=$this->test_model->get();
$this->load->view('test_view',$data);
}
}
?>
模型(Model): test_model.php (此文件保存在 system/application/models 目录下)
<?php
class Test_model extends Model{
function Test_model(){
parent::Model();
$this->load->database();
}
function get(){
$query_string="SELECT * FROM test_table";
$result=$this->db->query($query_string);
return $result->row_array();
}
}
?>
视图(View): test_view.php (此文件保存在 system/application/views 目录下)
<html>
<head><title>测试</title></head>
<body>
<?php echo $message['content'];?>
</body>
</html>
然后使用你的MySQL管理工具(或者直接使用命令行也行),创建一个数据表,名字要与前面的 test_table 对应,再随便插入一条数据:
CREATE TABLE IF NOT EXISTS `test_table` (
`id` int(11) NOT NULL auto_increment,
`content` varchar(50) NOT NULL,
PRIMARY KEY(`id`)
)
INSERT INTO `test_table` (`id`, `content`) VALUES
(1, '春哥纯爷们,铁血真汉子。信春哥,得永生。');
最后,配置好你的 config.php和database.php 文件中的相关参数。这两个文件位于 system/application/config 目录下。假设你在 config.php 中设置的base url为 http://localhost/,那么,访问 http://localhost/index.php/test 就可以看到效果了。
谢谢啊
本帖最后由 wondely 于 2009-8-1 00:42 编辑谢谢 楼上的啊 管理员一会给你加分啊
可是出现了问题了
Unable to locate the model you have specified: mwelcome
没有找到指定的模块 我的代码是copy你的啊 mwelcome与2L提供的代码无关哦,你看下2L的代码通篇都没有调用mwelcome
检查一下是否是文件名或url写错了 是啊,代码里没有 mwelcome,写代码最重要的就是仔细。 本帖最后由 wondely 于 2009-8-1 11:26 编辑
这是我写的代码:
控制器(Controller): welcome.php (此文件保存在 system/application/controllers 目录下)
<?php
class Welcome extends Controller{
function Welcome(){
parent::Controller();
$this->load->model('m_welcome');
}
function index(){
$data['query']=$this->m_welcome->select();
$this->load->view('welcome_view',$data);
}
}
?>
模型(Model): wel.php (此文件保存在 system/application/models 目录下)
<?php
class M_welcome extends Model{
function M_welcome(){
parent: Model();
$this->load->database();
}
function select(){
$sql="select * from contacts";
$query=$this->db->query($sql);
return $this->row->array();
}
}
?>
视图(View): welcome_view.php (此文件保存在 system/application/views 目录下)
<html>
<head>
<title></title>
</head>
<body>
<p><?php echo $query['id'];?></p>
<p><?php echo $query['name'];?></p>
<p><?php echo $query['email'];?></p>
<p><?php echo $query['ip'];?></p>
</body>
</html>
可是 还是出现了
Unable to locate the model you have specified: mwelcome
我真的不知道是什么原因?
可能是配置有问题 但我不知道改那个文件啊
但不加载 model 时 又可以访问 是自定义的内容 不是从数据库里的东西 看一下模型的命名规则吧,CI 的命名规则必须遵守。
http://codeigniter.org.cn/user_guide/general/models.html
PS: 先把上面贴出来的代码执行正确,再自己修改,修改的时候不要以自己的想法随意修改,框架和纯 PHP 的最大区别就是有很多规则,必须遵守。 6# wondely
你的模型文件名不对。模型文件名应该与类名相同,只是大小写不同而已。比方说,你的模型是这样写的:
<?php
class Test_model extends Model{
function Test_model(){
parent::Model();
$this->load->database();
}
}
?>
那么,你的模型文件名就必须是 test_model.php ,这是命名规范,必须遵守。注意大小写。 谢谢了啊
<b>你非常棒啊</b>
页:
[1]