To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

HTML/PHP/AJAX/JS - Przycisk na zasadzie "Lubię to"

cziter - 12-09-2013, 07:11
Temat postu: Przycisk na zasadzie "Lubię to"
Witajcie,
Szukałem na internecie systemu oceniania, ale interesuje mnie jeden przycisk na zasadzie "Lubię to", czyli nie chcę żeby było typowo "Podoba się/Nie podoba się", tylko jeden konkretny przycisk "Podoba się".
I z tym to nie ma dużego problemu aczkolwiek chciałbym zrobić tak żeby te kliknięcia obok się zliczały (coś na zasadzie 'Podoba się: 20') i zapisywało na IP lub tak żeby każdy z komputera mógł raz tylko głosować.
Pozdrawiam i z góry dziękuję za pomoc.

Majkelo - 13-09-2013, 15:52

Tworzysz tabelkę w bazie danych, np. phpbb_like_votes, w niej następujące pola:
user_id - id usera, który głosował,
topic_id - id tematu, który został oceniony przez danego usera (strzelam, że chcesz oceniać tematy),
user_ip - IP usera, który głosował

Dodatkowo w tabeli phpbb_topics, trzeba dodać pole np. topic_like_votes, w której będziesz trzymać sobie ilość wszystkich głosów (wartość domyślna oczywiście ustawiona na 0).
Teraz przy oddawaniu głosu przez danego usera sprawdzasz czy istnieje ciasteczko o nazwie "voted" (nazwa oczywiście przykładowa) - dwie możliwości:
a) jeśli ciasteczko istnieje, to wypluwasz mu błąd, że już głosował i jemu już dziękujemy,
b) jeśli ciasteczko nie istnieje, to sprawdzasz w bazie czy jego user_id lub user_ip istnieje w tabeli phpbb_like_votes (user_id tylko w przypadku gdy user jest zalogowany!) - jeśli coś znajdzie to jak wyżej - wypluwasz błąd, że już głosował + możesz na nowo stworzyć mu ciacho w przeglądarce
c) jeśli ciasteczko nie istnieje oraz w bazie nie ma jego IP ani user_id to:
- aktualizujesz pole topic_like_votes w phpbb_topics o +1 przy rekordzie z danym topic_id,
- dodajesz do tabeli phpbb_like_votes jego dane, czyli user_id, user_ip, topic_id,
- tworzysz mu ciasteczko o nazwie "voted" na jakiś tam okres czasu ;)

cziter - 13-09-2013, 17:47

3/4 zrozumiałem bez najmniejszego problemu bo tutaj chodzi o bazę danych. Pomógł i tak leci a jeszcze pytanie, w jaki sposób to połączyć ze stroną www, żebym miał te wszystkie opcje itp?
Majkelo - 13-09-2013, 17:54

To pytanie z serii - jak posmarować bułkę masłem... No zwyczajnie, nie wiem jak mam Ci odpowiedzieć na to pytanie. Kodu za Ciebie nie napiszę ;)
kevin_ - 13-09-2013, 18:20

Nie łatwiej będzie Ci przerobić tego moda? http://www.przemo.org/php...pic.php?t=99253


Powered by phpBB modified by Przemo © 2003 phpBB Group