如何将数据从一个视图传递到另一个视图
How to pass data from a view to another
我有以下问题:
我有一个控制器,其中有:
$this->load->model('girl_model');
$ragazze = $this->girl_model->get_girls();
$data['content'] = 'view_news';
$data['girls'] = $girls;
在我的主要观点中我有:
<html>
<head>
<title> </title>
<link rel="stylesheet" type="text/css" href="/assets/css/style.css">
</head>
<body>
<div id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</div>
<div id="main-content">
<?php $this->load->view($content, array('girls' => $girls) ); ?>
</div>
<div id="footer">
Copy Right 2015
</div>
</body>
在我的子视图中我有:
<?php echo $girls ?>
<?php foreach ($girls as $girl):?>
<tr>
<td><?php echo $girl; ?></td><br/>
</tr>
<?php endforeach;?>
问题是我在子视图中看不到我的查询结果。我只看到打印的 Array 字样。好像有些东西没有正确传递。
我是 CodeIgniter 的新手,我不明白为什么它不起作用。
你能给我解释一下正确的解决方法吗?
只需在第一个视图中加载该 $data,该变量就会在包含的视图中自动可用。在你的情况下。请按照下面的文字更改。
$this->load->model('girl_model');
$ragazze = $this->girl_model->get_girls();
$data['content'] = 'view_news';
$data['girls'] = $ragazze;
将此数据加载到此控制器中。
$this->load->view('viewfilename',$data);
现在 $girls 可用于 viewfilename.php 以及此 viewfilename.php 中包含的任何视图。
<html>
<head>
<title> </title>
<link rel="stylesheet" type="text/css" href="/assets/css/style.css">
</head>
<body>
<div id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</div>
<div id="main-content">
<?php $this->load->view($content); ?>
</div>
<div id="footer">
Copy Right 2015
</div>
现在根据它进行更改,$girls 也将可用于 $content 视图。
嗨,您的代码应该是:
控制器:
$this->load->model('girl_model');
$ragazze = $this->girl_model->get_girls();
$data['content'] = 'view_news';
$data['girls'] = $ragazze ;
//echo '<pre>';print_r($data) //debug here if you want
this->load->view('YourMainView',$data);
主视图:
<html>
<head>
<title> </title>
<link rel="stylesheet" type="text/css" href="/assets/css/style.css">
</head>
<body>
<div id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</div>
<div id="main-content">
<?php $this->load->view($content,$girls); ?>
</div>
<div id="footer">
Copy Right 2015
</div>
</body>
在子视图中:
<?php print_r($girls); ?>// $girls is an array you can not echo it you have to use print_r().
<?php foreach ($girls as $girl) ?>
<tr>
<td><?php echo $girl['field_name']; ?></td>//field name in your table.
</tr>
<?php endforeach;?>
我有以下问题:
我有一个控制器,其中有:
$this->load->model('girl_model');
$ragazze = $this->girl_model->get_girls();
$data['content'] = 'view_news';
$data['girls'] = $girls;
在我的主要观点中我有:
<html>
<head>
<title> </title>
<link rel="stylesheet" type="text/css" href="/assets/css/style.css">
</head>
<body>
<div id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</div>
<div id="main-content">
<?php $this->load->view($content, array('girls' => $girls) ); ?>
</div>
<div id="footer">
Copy Right 2015
</div>
</body>
在我的子视图中我有:
<?php echo $girls ?>
<?php foreach ($girls as $girl):?>
<tr>
<td><?php echo $girl; ?></td><br/>
</tr>
<?php endforeach;?>
问题是我在子视图中看不到我的查询结果。我只看到打印的 Array 字样。好像有些东西没有正确传递。 我是 CodeIgniter 的新手,我不明白为什么它不起作用。 你能给我解释一下正确的解决方法吗?
只需在第一个视图中加载该 $data,该变量就会在包含的视图中自动可用。在你的情况下。请按照下面的文字更改。
$this->load->model('girl_model');
$ragazze = $this->girl_model->get_girls();
$data['content'] = 'view_news';
$data['girls'] = $ragazze;
将此数据加载到此控制器中。
$this->load->view('viewfilename',$data);
现在 $girls 可用于 viewfilename.php 以及此 viewfilename.php 中包含的任何视图。
<html>
<head>
<title> </title>
<link rel="stylesheet" type="text/css" href="/assets/css/style.css">
</head>
<body>
<div id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</div>
<div id="main-content">
<?php $this->load->view($content); ?>
</div>
<div id="footer">
Copy Right 2015
</div>
现在根据它进行更改,$girls 也将可用于 $content 视图。
嗨,您的代码应该是:
控制器:
$this->load->model('girl_model');
$ragazze = $this->girl_model->get_girls();
$data['content'] = 'view_news';
$data['girls'] = $ragazze ;
//echo '<pre>';print_r($data) //debug here if you want
this->load->view('YourMainView',$data);
主视图:
<html>
<head>
<title> </title>
<link rel="stylesheet" type="text/css" href="/assets/css/style.css">
</head>
<body>
<div id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</div>
<div id="main-content">
<?php $this->load->view($content,$girls); ?>
</div>
<div id="footer">
Copy Right 2015
</div>
</body>
在子视图中:
<?php print_r($girls); ?>// $girls is an array you can not echo it you have to use print_r().
<?php foreach ($girls as $girl) ?>
<tr>
<td><?php echo $girl['field_name']; ?></td>//field name in your table.
</tr>
<?php endforeach;?>