使用codeigniter将变量发送到视图

时间:2017-03-20 13:02:14

标签: php codeigniter views

我有一个函数,它计算我的网站的访问次数,我试图将一个变量发送到视图但它不起作用,变量必须传递一个内容模板的文件。当变量I直接传递给视图时,它可以工作,但其他方式却没有。请帮我。感谢。

控制器中的

$query = $object->Searcher_visits();
if ($query->num_rows > 0) {
while ($query->result()) {
$current_date = $list['date'] = $query->date; 
$count = $obj_forum->visits($current_date);
$list2['num'] = $count->num;
$list2['current_date'] = $current_date;
}
}
$data['list2'] = $list2;
$data['list'] = $lis;
$this->load->view('template/general_template/template', $data);
视图中的

(此视图是左侧菜单)

<table border="1" width="250px" cellpading="5px" cellspacing="5px">';
<tr><td>FECHA</td><td>VISITAS</td></tr>';
tr><td><?php echo $list2['current_date']; ?></td>
<td align="right"><?php echo $list2['num'];?></td>
</tr>
</table>

模板

<?php
$this->load->view('header');
$this->load->view('banner');
$this->load->view('left_menu');
?>

3 个答案:

答案 0 :(得分:1)

您将变量传递给模板,但是您需要left_menu视图中的变量,但是您不会将变量赋予该视图。快速修复只是从模板中传递变量:

<?php
$data = array($list1, $list2);
$this->load->view('header');
$this->load->view('banner');
$this->load->view('left_menu', $data);
?>

答案 1 :(得分:0)

//Controller code

$query = $object->Searcher_visits();
if ($query->num_rows > 0){
   $data['list2'] = $query->result();
   $data['list'] = $obj_forum;
}
$this->load->view('header');
$this->load->view('banner');
$this->load->view('left_menu',$data);

//查看页面

<table border="1" width="250px" cellpading="5px" cellspacing="5px">
  <tr>
     <td>FECHA</td>
     <td>VISITAS</td>
  </tr>
  <?php foreach($list2 as $ex2){?>
  <tr>
      <td><?php echo $ex2->date; ?></td>
      <td align="right"><?php echo $list->visits($ex2->date);?></td>
  </tr>
<?php }?>
</table>

答案 2 :(得分:-1)

假设$ data [&#39; list2&#39;]是一个数组。由于数组应该迭代,即使它在每个数组键上都有一个值。 foreach将解决您的问题。

&#13;
&#13;
<table border="1" width="250px" cellpading="5px" cellspacing="5px">';
<tr><td>FECHA</td><td>VISITAS</td></tr>';
tr><td><?php echo $list2['current_date']; ?></td>
<td align="right"><?php echo $list2['num'];?></td>
</tr>
</table>
&#13;
&#13;
&#13;


应该是这样的:

&#13;
&#13;
<table border="1" width="250px" cellpading="5px" cellspacing="5px">;
  <tr>
    <td>FECHA</td>
    <td>VISITAS</td>
  </tr>;
  <?php foreach($list2 as $list):?>
  <tr>
    <td>
      <?= $list->current_date ?>
    </td>
    <td align="right">
      <?=$list->num?>
    </td>
    <?php endforeach;?>
  </tr>
</table>
&#13;
&#13;
&#13;