2017-03-20 3 views
0

私は自分のウェブサイトの訪問数をカウントする機能を持っていますが、ビューに変数を送信しようとしましたが機能しません。テンプレートの内容。私がビューに直接渡すと、それは動作しますが、他の方法では動作しません。私を助けてください。ありがとう。コントローラビューでcodeigniterでビューに変数を送信する

$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'); 
?> 

答えて

1

あなたのテンプレートに変数を渡すが、 left_menuビューに変数が必要ですが、そのビューに変数を指定しないでください。テンプレート内から変数を渡すだけで簡単に修正できます:

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

$ data ['list2']が配列であるとします。配列は各配列キーに単一の値を持っていても反復する必要があるためです。 foreachがあなたの問題を解決します。

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


次のようにする必要があります:

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

+0

問題は、変数がそのビューに認識していない A PHPエラーが 重大度に遭遇したことがある:未定義の変数: ファイル名リスト2: メッセージに注目してください left_menu.php行番号:69 – Mary

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> 
関連する問題