arxiba 发表于 2015-5-30 10:03:40

foreach

我CI 2.2.x的
foreach 数据只显示最后一条,不知道什么原因

moudle:
   function get_company_list(){
   $data=$this->db->get('icompany');
   return $data;

controler:
$this->load->model('operate_company');
         $data['query']=$this->operate_company->get_company_list();

view:
<?php foreach($query->result() as $row) ;{ ?>


谁帮我看看问题在哪里?

Closer 发表于 2015-5-30 10:14:09

本帖最后由 Closer 于 2015-5-30 10:17 编辑

你的 ->result() 應該在 model 做而不是 view
問題應該在 foreach 的 {} 裡面,你沒寫的部分

話說兄弟...你怎結束了?
<?php foreach($query->result() as $row) ;{ ?>

arxiba 发表于 2015-5-30 10:15:19

问题解决了, view里多了个 ; 号

arxiba 发表于 2015-5-30 11:09:00

Closer 发表于 2015-5-30 10:14
你的 ->result() 應該在 model 做而不是 view
問題應該在 foreach 的 {} 裡面,你沒寫的部分



谢谢了,moudle里怎么写?什么优势?

Closer 发表于 2015-5-30 11:33:34

本帖最后由 Closer 于 2015-5-30 11:39 编辑

arxiba 发表于 2015-5-30 11:09
谢谢了,moudle里怎么写?什么优势?
原本 MVC (正確應該是MTV) 的概想就是
1. C 端判斷與 route
2. M 端處理資料成資訊
3. V 端顯示資訊

你最後的 $this->db->get('icompany'); 只是很單純的拚好 "SQL 語法"
根本尚未去資料庫獲取資料,->result() 這時才會向資料庫拿資料

你的作法會造成
先顯示 foreach echo 出來的資料 => 再讀取其他 Html 語法標籤
差別就在於,使用端電腦比較慢的,會先顯示你的 foreach
再陸陸續續的讀入 layout 和 img ... 等等標籤
因為 PHP 是比 Html 或 JS 優先運行的區塊

請參閱 : 百度知道 - php,html,css,js,mysql的运行顺序是什么
 
页: [1]
查看完整版本: foreach