Вы можете сделать это с помощью AjaxRequest.
Модели / article.php:
function thumbsup($id = null)
{
$conditions = array('Article.id' => $id);
$this->updateAll(
array('Article.thumbsup' => 'Article.thumbsup + 1'),
$conditions
);
$article = $this->find(
'first',
array('conditions' => $conditions, 'fields' => array('Article.thumbsup'))
);
return $article['Article']['thumbsup'];
}
Контроллеры / articles_controller.php:
function thumbsup($id = null)
{
$this->set('count', $this->Article->thumbsup($id));
$this->layout = 'ajax';
}
просмотров / статьи / thumbsup.ctp:
<?php echo $count; ?>
WebRoot / JS / thumbsup.js:
$(document).ready(function()
{
$('.iLikeSomething').click(function()
{
$.post('http://yoursite.com/articles/incrementThumbsup/'+this.id, function(data)
{
$('#iLikeSomethingCount').html(data);
});
});
});
Пример HTML для нажатия:
<span class="iLikeSomething" id="insertYourArticleIdHere" style="cursor: pointer;">iLike</span>
<div id="iLikeSomethingCount">0</div>