Php рейтинг

Php рейтинг

Зовсім недавно мене попросили підшукати який-небудь скрипт рейтингу з двома кнопками + або -, thumb up / thumb down (дві руки). Думаючи, що завдання зовсім вже проста я став шукати схожі скрипти в пошукових системах. Серед вимог до скрипту було захист по IP і легка інтеграція.
Серед рішень в мережі мені траплялися або занадто прості, навіть без прикладу та захисту по IP, або дуже складні і наворочені. Але, хороший і задовольняє всім вимогам скрипт, знайти так і не вдалося. Інтернет наповнений купою рішень для зоряного рейтингу (зірочки), але от з двома кнопками - на жаль. Так, є приголомшливе рішення для WordPress, але переробляти мені його зовсім не хотілося. У підсумку я знайшов дійсно хороше і добре рішення рейтингу, але воно виявилося платним. Витративши 2-3 години на пошуки (Це дійсно було так довго. Пошуковики знаходять начебто хороші рішення судячи по заголовках, але відкривши сайти розумієш що тебе обдурили.).
Так ось, витративши 2-3 години на пошуки рішення я забив і вирішив написати свій рейтинг. За одне і допоможу іншим, адже не тільки мені може стати в нагоді такий вид рейтингу.
Часу було мало, тому я назбирав купу різних скриптів рейтингів. Розколупав їх, розклав на шматочки, а потім став збирати.
Я чітко був упевнений:
- На виході повинен вийде простий і легкий рейтинг
- Захист по IP
- Легка інтеграція (викликав функцію, вліпив ID поста і все)
- Буду використовувати jQuery. Простіше і надійніше
- Легка зміна картинок від плюсиков до пальців вгору і т.д.

Після деякого часу рейтинг був готовий, вийшло 8 файлів:

  • base.php - коннект до бази і дані для нього
  • index.php - все зібране воєдино як приклад підключення (демка)
  • rateaction.php - обробник подій рейтингу
  • rating.php - висновок самого рейтингу на сторінку
  • jquery.js - фреймворк jQuery
  • script.js - наш скрипт з функціями для роботи з рейтингом
  • style.css - стилі оформлення
  • thumb.php - картинки

Наведу лістинг файлу index.php (нижче можна і демку подивитися і скрипт скачати в архіві):

У функції callrating три параметра. Перший параметр, обов'язковий - id вашого поста або статті, він унікальний повинен бути для кожного матеріалу. Другий параметр - клас картинок в CSS (за замовчуванням він плюс / мінус). Третій параметр для рейтингу, де можна ставити тільки + або "мені подобається", просто напишіть текст або вставте пропуск - мінус не з'явиться.

Тепер приведу лістинг файлу rateaction.php, який обробляє дані надходять до нього після натискання на кнопки голосування:

Власне код зовсім простий.

Картинка виглядає ось так, це CSS спрайт:

CSS код виглядає наступним чином:

В архіві до речі є файл dump.sql - це дамп бази mysql. І не забудьте в файлі base.php прописати свої дані з'єднання з базою. Загалом користуйтеся скільки завгодно, використовуйте де завгодно і міняйте як завгодно, сподіваюся стане в нагоді. І ще один момент, якщо ви використовуєте кешування в PHP. то не забудьте очищати кеш поточної сторінки під час голосування.

(Visited 2 423 times, 5 visits today)

Можливо вас зацікавить:

Рейтинг буває різний, каму че подобається ... Тільки з цим згоден ...
Але для кнопки (форми) використовувати цілу бібліотеку від jquery + mysql ось це занадто ...
Я написав свій багато розуму нетреба з 6 зірками:
Тут з усього потрібно Mysql, 1 картинка, php, html, css НЕ отлічіш і вага всього скрипта близько 4Кб, спробувати і без mysql на txt вийшло трохи більше 7кб ...
Cпрашивается на біса потрібна бібліотека jQ.
jQuery потрібна штука але якщо так її використовувати.
Або у Вас не хватка розуму або Ви недоучка + любитель завалювати свої проекти зайвою вагою. (Не грамотний підхід до свого творіння).

Хлопців ось я поставив скрипт дуже все чудово.

У мене на радіо-сайті виводяться поточні пісні і люди яким подобається пісенька її лайкають, але мені потрібно вивести всі лайки з назвами пісень на одну сторінку. Тобто якщо наприклад за Аллу Пугачову проголосувало 50 чоловік мені потрібно щоб на окремій сторінці скрипта так і виводилося Алла Пугачова - 50 голосів. Підкажіть як це організувати кодом)) я не встромляють в м'язі нічого! )

Ти прості запросто можеш вивести всю інфу на сайті приблизно це так буде:

mysql_query ( 'Select * FROM datbase'); // vyvodiw vse zapisi.
a v php obycnhym cyklom obrabatyvajew zapros

Може ще десь треба прописати? і як? підкажіть мені плиз!
Так само є непонятки з приводу файлі BASE.php

як його міняти?
так:

Плиз, плиз плиз. чекають відповідь!

Розміщую файли в кореневій папці все працює. А якщо розміщую в папку reting (наприклад), то при натисканні на «подобатися» або «не подобається» переносить на головну сторінку (((Підкажіть в яких файлах що підправити потрібно?

Підкажіть будь ласка! Як на даному прикладі реалізувати наступне. При повторному натисканні на лайк значення в таблиці повертається, а якщо натиснути на лайк а потім на діслайк значення діслайка збільшиться а значення лайка повернеться.

Ви не могли б допомогти реалізувати те-ж саме, але не +/-, а з 10 зірочками! ось на цьому: "antenna.io/demo/jquery-bar-rating/examples/», але конкретно з тим рейтингом де «Current rating: 5.6».

Схожі статті