Выводится только общее количетсво как можно сделать? Или как то incrementom записывать в сon_news ?
Кто же знает что и как вы создали.) На скрине вроде выведено кол-во(8). О чём тогда вопрос? И вы к чему вывели лайки, к одной новости или сразу ко всем? Вы бы ещё всё затёрли, только вывод лайков оставили и ждали ответа...
При нажатие на лайк а базу с помощью аякс отправляются данные id новости id пользователя.
Теперь я хочу вывести количество лайков данной темы.
Вот код вывода
public function getLikeCount(){ return $this->getCount('like'); }
Так и посмотрите на функцию в модели
public function getCount($table_name, $by_field='id'){
Нико,
Так и посмотрите на функцию в модели
Туда надо отправлять имя таблицы, где эти лайки хранятся и по какому полю считать (id новости).
public function getCount($table_name, $by_field='id'){
Спасибо за подсказку, но не очень хорошо вас понял,
Я с помощью аякс отпраляю данные вот пример
$('.button_like<?php echo $item['id']; ?>').click( function() { $.ajax({ type: 'POST', url: '/content/like', data: 'content_id=<?php echo $item['id']; ?>', success: function(msg){ $('.buttons19<?php echo $item['id']; ?>').css('display', 'none'); $('.buttons18<?php echo $item['id']; ?>').css('display', 'block'); var follow = <?php echo $total_like ?> + 1; // или минус 1 $('.like_num').html(follow); } }); });
$content_id = $this->request->get('content_id'); $like['content_id'] = $content_id; $user_like = $this->model->Like($like);
public function Like($like){ return $this->insert('like', $like); }
public function getLikeCount(){ return $this->getCount('like'); }
Вот в шаблоне виджета отправляю запрос.
Нико, Выложите ваш код запроса, а не пример. Распишите что и как. По вашему примеру вообще ничего работать не должно.)
<span class="like">Нравится <span class="like_num"><?php echo $total_like ?></span></span> <?php foreach ($like as $lk) { if ($lk['content_id'] == $item['id']) { $lk_cnt = $lk['content_id']; } } if (cmsUser::isLogged()){ if ($item['id'] == $lk_cnt) { $user = cmsUser::getInstance(); ?> <div class="buttons18<?php echo $item['id']; ?>"><i class="fa fa-heart button_unlike<?php echo $item['id']; ?>" aria-hidden="true"></i></div> <div class="buttons19<?php echo $item['id']; ?>" style="display:none;"><i class="fa fa-heart-o button_like<?php echo $item['id']; ?>" aria-hidden="true"></i></div> <script> $('.button_like<?php echo $item['id']; ?>').click( function() { $.ajax({ type: 'POST', url: '/content/like', data: 'content_id=<?php echo $item['id']; ?>', success: function(msg){ $('.buttons19<?php echo $item['id']; ?>').css('display', 'none'); $('.buttons18<?php echo $item['id']; ?>').css('display', 'block'); var follow = <?php echo $total_like ?> + 0; // или минус 1 $('.like_num').html(follow); } }); }); $('.button_unlike<?php echo $item['id']; ?>').click( function() { $.ajax({ type: 'POST', url: '/content/unlike', data: 'content_id=<?php echo $item['id']; ?>', success: function(msg){ $('.buttons18<?php echo $item['id']; ?>').css('display', 'none'); $('.buttons19<?php echo $item['id']; ?>').css('display', 'block'); var follow = <?php echo $total_like ?> - 1 ; // или минус 1 $('.like_num').html(follow); } }); }); </script> <?php } else { ?> <div class="buttons18<?php echo $item['id']; ?>" style="display:none;"><i class="fa fa-heart button_unlike<?php echo $item['id']; ?>" aria-hidden="true"></i></div> <div class="buttons19<?php echo $item['id']; ?>"><i class="fa fa-heart-o button_like<?php echo $item['id']; ?>" aria-hidden="true"></i></div> <script> $('.button_like<?php echo $item['id']; ?>').click( function() { $.ajax({ type: 'POST', url: '/content/like', data: 'content_id=<?php echo $item['id']; ?>', success: function(msg){ $('.buttons19<?php echo $item['id']; ?>').css('display', 'none'); $('.buttons18<?php echo $item['id']; ?>').css('display', 'block'); var follow = <?php echo $total_like ?> + 1; // или минус 1 $('.like_num').html(follow); } }); }); $('.button_unlike<?php echo $item['id']; ?>').click( function() { $.ajax({ type: 'POST', url: '/content/unlike', data: 'content_id=<?php echo $item['id']; ?>', success: function(msg){ $('.buttons18<?php echo $item['id']; ?>').css('display', 'none'); $('.buttons19<?php echo $item['id']; ?>').css('display', 'block'); var follow = <?php echo $total_like ?> ; // или минус 1 $('.like_num').html(follow); } }); }); </script> <?php } } ?>
Вот frontend content где получаю запрос
public function actionLike(){ $user = $this->cms_user; $content_id = $this->request->get('content_id'); $like['user_id'] = $user->id; $like['content_id'] = $content_id; $user_like = $this->model->Like($like); } public function actionUnlike(){ //$user_id = $this->request->get('user_id'); $content_id = $this->request->get('content_id'); $this->model->deleteLike($content_id); }
Вывожу тум
$total_like = $model->getLikeCount($content_id); $like = $model->getLike($id);
//============================================================================// //================================= Лайк =================================// //============================================================================// public function getLike($id){ $user = cmsUser::getInstance(); $this->filterEqual('user_id', $user->id); return $this->get('like'); } public function Like($like){ return $this->insert('like', $like); } public function deleteLike($content_id){ $user = cmsUser::getInstance(); $this->filterEqual('user_id', $user->id); $this->filterEqual('content_id', $content_id); return $this->delete('like', $content_id, $content_id); } public function getLikeCount(){ return $this->getCount('like'); }
public function getLikeCount(){ $this->filterEqual("content_id = $content_id"); return $this->getCount('like'); }
public function getLikeCount(){ $this->filterEqual("content_id = $content_id"); return $this->getCount('like'); }
А как мне отправить вот это? $content_id если я только его могу отправить при нажатие на кнопку ajax не постоянно.
Call to undefined method modelContent::where() in /var/www/u16916/data/www/3x3portal.com/system/controllers/content/model.php on line 2772
public function getLikeCount(){ $this->model->filterEqual("content_id = $content_id"); return $this->model->getCount('like'); }