Создание кнопки liked для сайта
Недавно захотелось сделать кнопочку «Мне нравится» для комментариев на одном из сайтов. Конечно, ничего сложного в этом нет, однако, необходимо так же владеть и JS, который все больше и больше начинает вписываться в жизнь вебмастеров-программистов.
Поэтому я решил описать способ реализации кнопочки liked, как и всегда пишем с нуля.
И так у нас есть функция которая выводит комментарии к нашим постам/новостям, дергает их она по уникальному id новости, по такому же принципу мы и будем привязывать кнопочку «Мне нравится» только к уникальному айди комментария.
В блоке с комментариями достаточно разместить вот такую кнопку
Давайте набросаем немного стилей для кнопки, чтобы было более понятно.
Теперь на нужно создать в базе данных таблицу, которая будет хранить в себе айди комментария.
Заходим в phpmyadmin и создаем таблицу like
в ней создаем 2 поля, уникальный id записи и id комментария
Далее нем нужно подготовить php функцию которая будет записывать данные в таблицу like
Создайте файл к примеру like.php
В нем размещаем функцию (к базе данных я думаю вы подключитесь сами, так как каждая CMS имеет свое подключение, возможно есть какой то стандартный код CMS)
Теперь необходимо написать JS функцию которая будет обрабатывать клик по кнопке и отправлять пост запрос в функцию.
Вот собственно и все.
Поэтому я решил описать способ реализации кнопочки liked, как и всегда пишем с нуля.
И так у нас есть функция которая выводит комментарии к нашим постам/новостям, дергает их она по уникальному id новости, по такому же принципу мы и будем привязывать кнопочку «Мне нравится» только к уникальному айди комментария.
В блоке с комментариями достаточно разместить вот такую кнопку
<div class="like" id="Тут id комментария"></div>
Давайте набросаем немного стилей для кнопки, чтобы было более понятно.
<style>
.like {padding:5px 15px;background:#DDD;border-radius:5px;border:1px solid black}
</style>
Теперь на нужно создать в базе данных таблицу, которая будет хранить в себе айди комментария.
Заходим в phpmyadmin и создаем таблицу like
в ней создаем 2 поля, уникальный id записи и id комментария
CREATE TABLE IF NOT EXISTS `like` (
`id` int(11) NOT NULL auto_increment,
`id_comm` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
Далее нем нужно подготовить php функцию которая будет записывать данные в таблицу like
Создайте файл к примеру like.php
В нем размещаем функцию (к базе данных я думаю вы подключитесь сами, так как каждая CMS имеет свое подключение, возможно есть какой то стандартный код CMS)
function like()
{
//$_POST['id'] - будем передавать js уникальный айди комментария
/* Пишем SQL запрос вида
INSERT INTO like (`id`, `id_comm`) VALUE ('', $_POST['id']);
*/
die('ok'); // если запрос выполнился то пишем ответ для JS
}
Теперь необходимо написать JS функцию которая будет обрабатывать клик по кнопке и отправлять пост запрос в функцию.
$(function(){
like();
});
function liked() {
$('.like').click(_like);
}
function _like()
{
var $me = $(this);
var id = $me.attr('id'); // id
var $val = $('.like[id="'+id+'"]');
$.post('http://site.ru/like.php',{id:id},function(data){
if(data === 'ok')
{
val = 'Ваш голос записан!';
$val.html(val);
}
});
return false;
}
Вот собственно и все.
Уже целую неделю стоит жара, многие очень плохо переносят жаркое лето и вынуждены как от оставаться в тени дома или быть на пляже, но тем кто работает в помещении не просто жарко, но и душно. Для этого существуют кондиционеры их списак вы сможете увидите перейдя по ссылке http://www.kievkomfort.com.ua/split_systems/MITSUBISHI%20HEAVY_SRK40HG-S%20SRC40HG-S.php цены более чем приемлемые и к тому же сама установка кондиционера бесплатна!
0 комментариев