![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 27.01.2010 Skąd: Sopot Ostrzeżenie: (0%) ![]() ![]() |
Witajcie!
Jestem na etapie tworzenia własnego forum. Większość zadań jakie sobie postawiłem wykonałem, lecz pozostało kilka, wydawać by się mogło bardzo łatwych, za które nie wiem jak się zabrać. W spisie tematów posiadam kolumnę, w której wyświetlam liczbę postów i liczbę odsłon danego tematu. Chciałbym, by po wejściu w dany temat skrypt sprawdzał czy użytkownik (zalogowany bądź nie) już odwiedził ten temat, jeśli nie to licznik odsłon zwiększałby się o 1. Równocześnie chciałbym, by użytkownik wchodząc na stronę ze spisem tematów był poinformowany o nowym poście w temacie poprzez zmianę grafiki przy tytule tematu. Baza danych W tabeli "forum_tematy" posiadam pola: nr------nr_dzialu------przyjazny_link------nazwa------opis------autor------data------ilosc_postow------ilosc_odslon W jaki sposób zaplanować tabele w bazie danych, dzięki którym mógłbym wykonać te zadania? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Równocześnie chciałbym, by użytkownik wchodząc na stronę ze spisem tematów był poinformowany o nowym poście w temacie poprzez zmianę grafiki przy tytule tematu. możesz to zrobić na 2 sposoby optymalny (lecz posiada swoje wady...): zaznaczasz tematy w których pojawił się post później, niż ostatnie logowanie pełny: dodajesz nową tabele w której trzymasz id_tematu i id_użytkownika. po dodaniu nowego posta dodajesz id temtu i id użytkownika. użytkownik przeczyta dany post - rekord jest usuwany. tutaj musisz zważać na liczbę rekordów i kontrolować, aby jeden użytkownik miał zaznaczane ciągle max (np.) 100 tematów, w innym przypadku użytkownicy "owce" (nie logujący się od dłuższego czasu) będą niepotrzebnie generować obciążenie --edit-- odnośnie unikalnych wizyt - tu można by to rozpatrzyć z innej strony - po co? czy na pewno taka informacja jest niezbędna do "życia"? czy opłaca się zapychać bazę danych danymi typu: temat => ip odwiedzających? sprawa wątpliwa, a decyzja należy do ciebie Ten post edytował r4xz 3.12.2011, 13:57:55 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
a może ciasteczka (IMG:style_emoticons/default/questionmark.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
a może ciasteczka (IMG:style_emoticons/default/questionmark.gif) na zasadzie połączenia wersji optymalnej z ciasteczkami? nie głupie... pobrać nowe tematy/posty od ostatniej wizyty i zapisać do cookie, a potem eliminować z cookie po przeczytaniu. sposób dobry, jednak tu potrzebna jest opinia kogoś doświadczonego - jak to wygląda od strony technicznej (pamięć cookie przy większy forach etc.), ale logicznie wygląda bardzo sensownie. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 27.01.2010 Skąd: Sopot Ostrzeżenie: (0%) ![]() ![]() |
a może ciasteczka (IMG:style_emoticons/default/questionmark.gif) Nie wszyscy mają je włączone i mają ograniczoną pojemność. Chyba znalazłem rozwiązanie na pierwszą część pytania. Tworzę tabelę "forum_odslony" gdzie będę trzymał idy tematów i ipy użytkowników w takiej formie: nr tematu---ip 1---83.4.228.228 1---83.4.228.229 1---83.4.228.230 1---83.4.228.231 2---83.4.228.229 2---83.4.228.228 ... Z początku też myślałem o: nr tematu---ip 1---83.4.228.228|83.4.228.228|83.4.228.228|83.4.228.228|83.4.228.228|83.4.228.228 2---83.4.228.228|83.4.228.228|83.4.228.228|83.4.228.228|83.4.228.228|83.4.228.228 ... ale wydaje mi się, że to byłoby mało efektywne @r4xz, spróbuję Ten post edytował kurkusmaximus 3.12.2011, 14:05:17 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
@kurkusmaximus, a zobacz jeszcze http://stackoverflow.com/questions/4982701...-ip-in-database
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
teraz chyba wszystkie strony wymagają ciasteczek. % które mają je wyłączone jest mały... To tak jak by nie korzystać z flesha albo mieć wyłączona obsługę JS.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 27.01.2010 Skąd: Sopot Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązany.
#odsłony tabela-wszystko int: nr---nr_tematu---ip
#nowy post tabela-wszystko int: nr---uzytkownik---nr_tematu---data Po wejściu w temat sprawdzane jest czy istnieje wpis uzytkownik+nr_tematu, jesli nie, to taki wpis tworzy przypisując datę ostatniego postu. Jeżeli istnieje to wyciąga datę i porównuje z ostatnim postem w temacie. Jeśli data ostatniego postu jest większa niż ta zapisana w tabeli to aktualizuje wpis uzytkownik+nr_tematu+data. po wejściu w wpis tematów sprawdzane jest czy data ostatniego postu jest większa niż ta zapisana w tabeli i "maluje" odpowiedni obrazek. Idę spać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 14:15 |