Php 如何在数据库中获取数据并在视图中显示特定数据(Codeigniter)

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框架的新手,我创建了一个简单的应用程序,可以从数据库中获取数据,然后在视图中显示条件。我试图将数据库中的特定数据显示到视图中,到目前为止,我还没有使用下面的代码

模型(Datamodel.php)

控制器(maincontroller.php)

看法

站点信息
网站名称:
网站描述:
网站关键字:
场地年份:
我想在浏览器上显示如下内容:

站点信息 网站名称:我的第一个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>