0
我一直在使用CodeIgniter開展一段時間的項目工作,並且我一直在爭論幾天。我在索引視圖中顯示了一系列來自數據庫的圖像,並在索引視圖中顯示了每個圖像,並且您可以喜歡或不喜歡這些圖像,而且這種方式很好,問題是該頁面只顯示一張圖像的喜歡量。所以我想,解決方案是將數據發送到我的控制器上的公共功能index()
方法,然後在模型中進行查詢,並返回所有視圖。你認爲還有另一種方法可以解決這個問題嗎?使用Codeigniter返回foreach循環中的所有圖像喜歡
這是我的ajax 要求
jQuery(document).ready(function($) {
var id = $("*#id_image").val();
$.ajax({
url: 'index.php/inicio/display_votes_index',
type: "POST",
dataType: "JSON",
data: {id_image: id},
success: function (response) {
$("#displayVote"+id).html(response.msg + " puntos");
console.log(response);
},
error: function (response) {
console.log(response);
}
});
});
這是我的看法
<aside class="container">
<div class="row col-md-8">
<?php
foreach ($images as $value) {
?><h1 style="font-size:20px;"><a href="#"><?= $value->title; ?></a></h1><?php
?><img src="<?= base_url(); ?>images/<?= $value->path; ?>" alt="<?= $value->title ?>" class="img-responsive" width="500"/>
<a href="#" style="color: #636363; margin-top:10px;display:block" id="displayVote<?= $value->id_image; ?>"></a><br/>
<button type="button" style="margin-right:5px;" class="btn btn-default btn-md" onclick="voteUp(<?= $value->id_image; ?>)"><i class="fa fa-arrow-up"></i></button>
<button type="button" style="margin-right:5px;" class="btn btn-default btn-md"><i class="fa fa-arrow-down"></i></button>
<button type="button" style="margin-right:5px;" class="btn btn-default btn-md"><span class="glyphicon glyphicon-comment"></span></button>
<input type="hidden" id="id_image" value="<?= $value->id_image; ?>"/>
<hr/>
<?php
}
?>
</div>
</aside>
這是模式
public function get_all_votes($id_image)
{
$sql = "SELECT COUNT(vote) AS vote_up FROM likes WHERE id_image = ? AND id_status = 1";
$query = $this->db->query($sql, $id_image);
$row = $query->row();
return $row->vote_up;
}
和這是控制器 recieving數據
public function display_votes_index()
{
$id_image = $this->input->post('id_image');
$votes = $this->vote_model->get_all_votes($id_image);
if ($votes) {
echo json_encode(['success' => TRUE, 'msg' => $votes]);
} else {
echo json_encode(['success' => FALSE, 'msg' => 'Error']);
}
}
PD:如果我使用eq()
這樣的:var id = $("#id_image").eq(1).val();
頁面顯示在循環中的第二圖像的喜歡的量,和,如果我更改數字顯示其他圖像的喜歡。有沒有辦法選擇所有圖像的所有ID?我嘗試了eq(*)
但它沒有奏效。謝謝!!!