CodeIgniter - 将两个不同的数据从DB关联到视图中的段落

时间:2015-09-02 11:53:41

标签: php codeigniter replace

我正在尝试使用

获得单位和员工数量
    SELECT 
    (SELECT 
            COUNT(unit_id)
        FROM
            tbl_units) AS uCount,
    (SELECT 
            COUNT(staff_id)
        FROM
            tbl_staff) AS sCount

例如,结果可能是

uCount | sCount
----------------
     5 |      45

文字来了

SELECT title, text FROM tbl_content WHERE alias = 'about'

检索结果

  

单位的员工在我们公司工作......

我想将这些值放入段落中。我发送两个数据到视图

$this->load->view('about', array('text' => $text, 'sCount' => $sCount, 'uCount' => $uCount));     

结果应该是:

  

5个单位的45名员工在我们公司工作

我的想法是将变量名称放入文本本身并替换它们。所以文字就像:

  

$ 2单位的1美元员工在我们公司工作

使用str_replace()获取文本后,

会很有用。

但我想知道是否有更好的方法?

2 个答案:

答案 0 :(得分:0)

你可以直接在双引号内传递变量名,php会解析它。

例如:

echo "{$sCount} employees at {$uCount} units work in our company";

答案 1 :(得分:0)

我在CodeIgnitor中编写的代码如下:

<强>控制器

public function index()
{
    $sCount = 45;
    $uCount = 5;
    $this->load->view('welcome_message', array('sCount' => $sCount, 'uCount' => $uCount));
}

查看

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Welcome to CodeIgniter</title>

    <style type="text/css">

    ::selection { background-color: #E13300; color: white; }
    ::-moz-selection { background-color: #E13300; color: white; }

    body {
        background-color: #fff;
        margin: 40px;
        font: 13px/20px normal Helvetica, Arial, sans-serif;
        color: #4F5155;
    }

    a {
        color: #003399;
        background-color: transparent;
        font-weight: normal;
    }

    h1 {
        color: #444;
        background-color: transparent;
        border-bottom: 1px solid #D0D0D0;
        font-size: 19px;
        font-weight: normal;
        margin: 0 0 14px 0;
        padding: 14px 15px 10px 15px;
    }

    code {
        font-family: Consolas, Monaco, Courier New, Courier, monospace;
        font-size: 12px;
        background-color: #f9f9f9;
        border: 1px solid #D0D0D0;
        color: #002166;
        display: block;
        margin: 14px 0 14px 0;
        padding: 12px 10px 12px 10px;
    }

    #body {
        margin: 0 15px 0 15px;
    }

    p.footer {
        text-align: right;
        font-size: 11px;
        border-top: 1px solid #D0D0D0;
        line-height: 32px;
        padding: 0 10px 0 10px;
        margin: 20px 0 0 0;
    }

    #container {
        margin: 10px;
        border: 1px solid #D0D0D0;
        box-shadow: 0 0 8px #D0D0D0;
    }
    </style>
</head>
<body>

<div id="container">
    <h1>Welcome to CodeIgniter!</h1>
    <div id="body">
        <p><?php echo "{$sCount} employees at {$uCount} units work in our company";?></p>
    </div>
</div>

</body>
</html>

我希望它能解决你的问题