簡體   English   中英

如何在 CodeIgniter 中將數據加載到視圖中?

[英]How to load data into view, in CodeIgniter?

我想注冊一個廣告商。 我的注冊工作正常,但在頁面下方我想記錄格林威治標准時間的日期/時間和廣告商的用戶名。 如果另一個用戶將該用戶名注冊到頂部的 go,那么過去和現在的廣告商就會被記錄下來。

這是我在 Controller 中的編碼:-

$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>

但這不起作用。 我需要幫助,有人可以嗎?

更新

這是 Controller 中的更改編碼:-

$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 ;

但我不能讓他們一起工作。 所以數組編碼肯定有問題。

您使用 Array 鍵名作為視圖中的變量名。

因此,您之前已經設置$data['advertiser'] ,並且前提是該值設置正確並且是一個字符串,在您看來 output 是您想要的變量。 我假設在div.advertiser內。

如果$data['advertiser']的值是一個 Array|Object,那么您將不得不深入挖掘並提取以顯示子值。

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

這幾乎是答案。

我嘗試的原始系統將無法工作,即使我可以讓這兩個部分加入,因為該信息僅對注冊的用戶可用,而我希望所有用戶都可以使用該信息。

因此,我采取了如下不同的方法:-

$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,但他們不感興趣。

也許這里有人知道解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM