ecpt 发表于 2009-12-12 11:43:58

关于控制器向视图传递参数的问题

我从数据库读出数据
array(=>array(
         =>'test'
         =>'title'
         =>'content'
         )
         =>array(
            =>'test_1'
            =>'title_1'
            =>'content_1'
          )
)
这是一个留言列表的数据,我该怎么把他传递给视图呢?
我先将数组转化为
$data=array(=>array(
         =>'test'
         =>'title'
         =>'content'
         )
         =>array(
            =>'test_1'
            =>'title_1'
            =>'content_1'
          )
   )
也就是用数组原样传递过去,第二种方法是将数组形式修改为
$data=array(
      =>array(
             =>'test'
             =>'test_1'
         )
      =>array(
             =>'title'
             =>'title_1'
         )

      =>array(
             =>'content'
             =>'content_1'
         )
)
如果用第一种方法,参数传递到视图之后会被拆解成两个一维数组0和1,按照php命名规则要报错的,但是第二种传递过去之后有三个一维数组。
视图形式为

姓名1:
标题1:
内容1:
------------------------------------------------------
姓名2:
标题2:
内容2:

该怎么循环呢?

visvoy 发表于 2009-12-12 14:26:17

这就是用CI建博客视频里的栗子,看一遍视频你就知道怎么写码了

视频地址http://codeigniter.org.cn/tutorials

yinzhili 发表于 2009-12-12 14:31:08

把这个数组传递给视图,在视图里面用foreach循环取出数据,并输出。

ecpt 发表于 2009-12-12 15:06:52

<table>
<?php foreach($query->result() as $value)?>
<tr><td>姓名:</td><td><?php echo $value->name;?></td></tr>
<tr><td>发布日期:</td><td><?php echo $value->input_time;?></td></tr>
<tr><td>标题:</td><td><?php echo $value->title;?></td></tr>
<tr><td>内容:</td><td><?php echo $value->content;?></td></tr>
<?php endforeach; ?>
</table>

这个代码哪里出错了呢,提示最后的<?php endforeach; ?>错误

Parse error: syntax error, unexpected T_ENDFOREACH in C:\Inetpub\wwwroot\ci\system\application\views\message_view.php on line 29

Hex 发表于 2009-12-12 15:26:17

第一个问题:
$data['result'] = 你的数据库返回的数组,这样不就避免了用数字当变量名的问题了吗?知识要活学活用。

第二个问题:
<?php foreach($query->result() as $value)?>
改成
<?php foreach($query->result() as $value): ?>
楼主应该好好看一下 PHP 基础了,呵呵

ecpt 发表于 2009-12-12 15:51:31

啊,谢谢指教,提醒。
页: [1]
查看完整版本: 关于控制器向视图传递参数的问题