我有一个foreach
循环,它运行数据库中的所有记录,并将它们显示在页面的列表中。我现在要做的是有一个可点击的按钮,它将加载另一个页面,只显示该列表项目中的信息。
因此它列出了所有记录,每个记录都有一个视图按钮,因此当您单击视图按钮时,它将加载第二个视图并显示单击的项目,如果这是有意义的
第一个视图是列表项:
<div class="row">
<div class="col-md-12" style="height: 225px;">
<?php foreach ($posts as $webstore): ?>
<div class="col-md-4 text-center thumbnail1234">
<?php foreach($webstore['images'] as $image) : ?>
<img class="img-responsive" src="<?php echo $image ?>"/>
<?php endforeach; ?>
<h3><?php echo $webstore['title']; ?></h3>
<p>Date Added: <?php echo date('d-m-y', strtotime($webstore['created'])) ?></p>
<hr>
<a href="<?= site_url("Webstore/webstore_large/['id']"); ?>" target="_blank" class="btn btn-primary center-block">View</a>
<hr>
</div>
然后链接到此视图:
<div class="row">
<div class="col-md-12">
<?php foreach ($posts as $webstore): ?>
<div class="col-md-5">
<?php foreach ($webstore['images'] as $image) : ?>
<img class="img-responsive" src="<?php echo $image ?>"/>
<?php endforeach; ?>
<div class="col-md-6">
<h3><?php echo $webstore['title']; ?></h3>
<p>Date Added: <?php echo date('d-m-y', strtotime($webstore['created'])) ?></p>
<p><?php echo $webstore['content']; ?></p>
</div>
<hr>
<hr>
</div>
<?php endforeach; ?>
</div>
</div>
我希望使用这个控制器:
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Webstore extends MY_Controller {
public function __construct() {
parent::__construct();
$this->load->model("post");
$this->load->database();
$this->load->helper("url");
}
public function index() {
$this->data['posts'] = $this->post->get_webstore($limit=null, $offset=null); // calling Post model method getPosts()
$this->data['page_title'] = 'Store';
$this->layout("pages/webstore", $this->data);
}
function webstore_large() {
$this->db->select['id'];
$this->layout("pages/webstore_page");
}
}
这里的任何帮助都会很棒。
答案 0 :(得分:1)
首先将href提供给标签
<a href="<?= base_url("Webstore/view/$webstore['id']") ?>" target="_blank" class="btn btn-primary center-block">View</a>
考虑id
是表格中的唯一列。
在webstore controller
,
function view($id) {
//write login to fetch `$id`'s data from database.
//load the 2nd view here.
}