Php 如何在数据库中获取数据并在视图中显示特定数据(Codeigniter)
我是Codeigniter框架的新手,我创建了一个简单的应用程序,可以从数据库中获取数据,然后在视图中显示条件。我试图将数据库中的特定数据显示到视图中,到目前为止,我还没有使用下面的代码 模型(Datamodel.php) 控制器(maincontroller.php) 看法Php 如何在数据库中获取数据并在视图中显示特定数据(Codeigniter),php,html,mysql,codeigniter,model-view-controller,Php,Html,Mysql,Codeigniter,Model View Controller,我是Codeigniter框架的新手,我创建了一个简单的应用程序,可以从数据库中获取数据,然后在视图中显示条件。我试图将数据库中的特定数据显示到视图中,到目前为止,我还没有使用下面的代码 模型(Datamodel.php) 控制器(maincontroller.php) 看法 站点信息 网站名称: 网站描述: 网站关键字: 场地年份: 我想在浏览器上显示如下内容: 站点信息 网站名称:我的第一个codeigniter应用程序 站点描述:这是示例ci应用程序 站点关键词:简单ci应用,第一个应用
站点信息
网站名称:
网站描述:
网站关键字:
场地年份:
我想在浏览器上显示如下内容:
站点信息
网站名称:我的第一个codeigniter应用程序站点描述:这是示例ci应用程序
站点关键词:简单ci应用,第一个应用
场地年份:2015年
{接受任何帮助和建议。谢谢!
请查看此图片[]了解我的数据库结构!}只需在控制器中加载您的模型:
function index()
{
$this->load->model('Datamodel');
$data['metadata'] = $this->Datamodel->getData();
$this->load->view('viewdata', $data);
}
试试你的观点
<h3>Site Information</h3>
<h4>Site Title: <?php echo $metadata['site_title']; ?></h4>
<h4>Site Description: <?php echo $metadata['site_description']; ?></h4>
<h4>Site keyword: <?php echo $metadata['site_keyword']; ?></h4>
<h4>Site Year: <?php echo $metadata['site_year']; ?></h4>
站点信息
网站名称:
网站描述:
网站关键字:
场地年份:
感谢您采取主动
只是一些修改:
模型
:
第二种方法(无FOREACH):
<h3>Site Information</h3>
<h4>Site Title: <?php echo $metadata['site_title']; ?></h4>
<h4>Site Description: <?php echo $metadata['site_description']; ?></h4>
<h4>Site keyword: <?php echo $metadata['site_keyword']; ?></h4>
<h4>Site Year: <?php echo $metadata['site_year']; ?></h4>
站点信息
网站名称:
网站描述:
网站关键字:
场地年份:
显示错误:遇到PHP错误严重性:注意消息:未定义索引:site\u title、site\u description、site\u关键字、site\u year它将显示错误,因为您没有在结果数据上循环,并且数据位于多行中。请参考我下面的答案。只需在查看页面上尝试打印($metadata),看看你得到了什么。我尝试了你的答案。谢谢你。但我只想得到值。@dinesh我试过你的建议打印($metadata),它在浏览器上显示如下。站点标题:数组([Site\u description]=>这是我的第一个codeigniter迷你应用程序[Site\u关键字]=>第一个ci应用程序,示例网站[Site\u Title]=>简单ci应用程序,第一个应用程序[Site\u year]=>2015)是的,它确实有效,但我只想显示值。您已经从数据库中获取了名称和值,为什么要将硬编码的名称与来自数据库的值进行比较?对不起,我只是个新手。“我更喜欢那样。”阿列克谢,新手,欢迎。继续研究,你将成为一名优秀的程序员。
function index()
{
$this->load->model('Datamodel');
$data['metadata'] = $this->Datamodel->getData();
$this->load->view('viewdata', $data);
}
<h3>Site Information</h3>
<h4>Site Title: <?php echo $metadata['site_title']; ?></h4>
<h4>Site Description: <?php echo $metadata['site_description']; ?></h4>
<h4>Site keyword: <?php echo $metadata['site_keyword']; ?></h4>
<h4>Site Year: <?php echo $metadata['site_year']; ?></h4>
<?php
function getData() {
$siteData = array();
$this->db->select("name, value");
$this->db->from('settings');
$query = $this->db->get();
if ($query->num_rows()) {
foreach ($query->result_array() as $row) {
// Your data is coming from multiple rows, so need to loop on it.
$siteData[$row['name']] = $row['value'];
}
}
return $siteData;
}
<h3>Site Information</h3>
<?php foreach($metadata as $dataName => $dataValue) {?>
<!-- You are getting the names and values in loop, so,
use it in loop. Also, use ucwords() and str_replace() to beautify your
output. for more informtion on this, read php.net documentation.
-->
<h4><?php echo ucwords(str_replace('-', ' ', $dataName))?>: <?php echo $dataValue; ?></h4>
<?php }?>
<h3>Site Information</h3>
<h4>Site Title: <?php echo $metadata['site_title']; ?></h4>
<h4>Site Description: <?php echo $metadata['site_description']; ?></h4>
<h4>Site keyword: <?php echo $metadata['site_keyword']; ?></h4>
<h4>Site Year: <?php echo $metadata['site_year']; ?></h4>