如何在CodeIgniter中将数据加载到视图中?

时间:2019-11-12 15:23:30

标签: php codeigniter-3

我想注册一个广告商。我的注册工作正常,但是在页面下方,我要记录日期/时间GMT和广告商的用户名。如果另一个用户注册该用户名排在最前面,则记录过去和现在的广告商。

这是我在控制器中的编码:-

$advertiser = $this->input->post('uname');
$data['advertiser'] =  array("yyyy-MM-dd'T'HH:mm:ss", $advertiser);
$this->load->view('advertising', $data);

这在视图中:-

<style type="text/css"> .advertiser { position: fixed; width: 100%; left: 11%; top: 50%; } </style>
    <div class="advertiser">
    </div>

但这不起作用。我需要帮助,有人吗?

更新

这是控制器中更改的编码:-

$advertiser = $this->input->post('uname');
$data['advertiser'] =  array(gmdate("d M Y 'T' H:m"), $advertiser);
$this->load->view('advertising', $data);

这是视图中更改的编码:-

<style type="text/css"> .advert { position: fixed; width: 100%; left: 11%; top: 38%; } </style>
    <div class="advert"><?php echo (isset($advertiser)) ? $advertiser : ''; ?>
    </div>

有意思的是,如果我在视图中插入以下内容,则会显示gmdate,但是它不会更新时间,因此必须进行缓存。

<style type="text/css"> .advert { position: fixed; width: 100%; left: 11%; top: 38%; } </style>
    <div class="advert"><?php echo gmdate("d M Y 'T' H:m") . "<br>"; ?>
    </div>

更新

我收到此错误:-消息:数组到字符串的转换:-这是因为视图中的编码:-

<?php echo (isset($advertiser)) ? $advertiser : ''; ?>

如果将其更改为此,我将不会获得结果

<?php echo (isset($advert)) ? $advertiser : ''; ?>

但是,如果我将其更改为以下内容,则会得到以下结果

<?php echo (isset($advertiser)) ? $advert : ''; ?>

消息:未定义的变量:广告

我尝试在Controller中更改变量,但这没什么区别。

更新

如果将其放在Controller中,则会显示GMT:-

$data['advertiser'] =  gmdate("d M Y 'T' H:m") ;

如果将其放在Controller中,则会显示用户名:-

$data['advertiser'] =  $advertiser ;

但是我不能让他们一起工作。因此,数组编码一定有问题。

2 个答案:

答案 0 :(得分:0)

在视图中将Array键名用作变量名。

因此,您事先设置了$data['advertiser'],并且假设此值设置正确并且是字符串,则在视图中将变量输出到所需的位置。我假设在div.advertiser之内。

如果$data['advertiser']的值是一个Array | Object,那么您将不得不进行挖掘和提取以显示子值。

<div class="advertiser">
  <?php echo (isset($advertiser) ? $advertiser : ''; ?>
</div>

答案 1 :(得分:0)

这几乎是答案。

我尝试使用的原始系统将无法正常工作,即使我可以将这两个部分加入,因为该信息仅对注册用户可用,而我希望对所有用户可用。

因此,我采取了以下另一种方法:-

$record = fopen("C:xampp/htdocs/application/views/record.php", "c");
fseek($record, 200) ;
$gm =  gmdate("d M Y H:i T") ;
fwrite($record, $gm);
$up =  (" - $advertiser") . "<br>" ;
fwrite($record, $up);

一切正常,但它消耗了额外的字节,从而清除了以前的所有广告客户。但是,如果我将以前的用户提前约35-40字节,则会显示信息,并将先前的广告客户移到新的广告客户附近。我不希望那样发生。

这似乎是制造商的错误。我已经写信给Zend,但他们不感兴趣。

也许这里有人知道解决方案。