【发布时间】:2017-08-04 13:24:20
【问题描述】:
我在 codeigniter 中使用 MVC,我有一个 MySql 表,其中包含用户 page_id 和主题 topic_number 制作的页面,如下图所示(表页面)。页面可以有多个主题编号。
我还有另一个名为 table page likes 的表格(如下图所示)。此表也有 page_id 和 topic_number,但它还有两个字段,即 like 和 user_who_liked_topic_number。
我的问题是,我想显示所有有或没有喜欢的主题编号。但是如果我只从 Table_page_likes 中获取主题编号,我将不会获得没有记录任何赞的主题编号。这就是我使用这两个表的原因。
第一个表是从打印出所有 Topic_number 的数据库中获取的。然后在 table_pages_like 中搜索每个 Topic_number 以查找它是否有任何类似记录并将其显示在 Page_id 和 topic_number 旁边。
到目前为止,这是我的代码,但我不确定如何执行第二步,即从表 table_page_likes 中获取每个 page_id 以及任意数量的点赞数
controller_page.php
function viewdata() {
$data['pages'] = $this->model_page->get_pages();
$this->load->view('view_page', $data);
}
function get_like($post_id, $topic_number) {
$data['liked_pages'] = $this->model_page->get_likes_model($post_id, topic_number);
$this->load->view('view_page', $data);
}
model_page.php
function get_pages() {
$query = $this->db->get_where('table_pages');
return $query->result_array();
}
function get_likes($page_id, $topic_number) {
$query = $this->db->get_where('table_pages_likes', array('page_id' => $page_id , 'topic_number' => $topic_number));
}
view_page.php
<?php foreach($pages as $value): ?>
<tr>
<td><?php echo $value['page_id']; ?></td>
<td><?php echo $value['topic_number']; ?></td>
<?php foreach($liked_pages as $value): ?>
<td><?php echo $value['page_id']; ?></td>
<td><?php echo $value['topic_number']; ?></td>
<td><?php echo $value['like']; ?></td>
<?php endforeach; ?>
</tr>
<?php endforeach; ?>
提前致谢
【问题讨论】:
标签: php mysql codeigniter