![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
Jak to napisać nie pisząc biektowo - na forum php.pl po przeczytaniu temat zmienia się symbol koperty umieszczonej na lewo od tematu wątku ... zmienia się też jeśli pisałeś coś w tym temacie (to wiem jak napisać), jak poinformować użytkownika że dany wątek już przeczytał
![]() ![]() -------------------- Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
|
|
|
![]() |
![]() ![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Do tego służy pseudoklasa :visited w CSS. Inaczej można to zrobić poprzez sesję. Każda strona ma swój id. Po wejściu na stronę jest on dodawany jej id do tablicy przechowywanej jako sesja.
-------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 18.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
bez bazy danych sie tu nie obejdzie. nie wiem jak to jest rozwiazane tutaj ale mozesz np stworzyc tabele ktora bedzie zawierala informacje jaki user odwiedzil jaki temat i na tej podstawie generowac link o odpowiednim wygladzie
Ten post edytował venomz 26.10.2006, 15:39:01 |
|
|
![]() ![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Lepiej, poprzez sesję, zapisywać jakie strony były już odwiedzone. Można je rozpoznawać po adresie.
Możesz też zrobić tak jak tutaj - zapisywać te informacje w bazie danych. -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 18.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mozesz troche przyblizyc ten sposob z sesjami? Jak to ma dzialac? Po odwiedzeniu strony tworzysz odpowiednia zmienna sesyjna?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 0 Dołączył: 6.06.2006 Skąd: include('root/europe/ poland/szczecin.php'); Ostrzeżenie: (0%) ![]() ![]() |
@Kas a co w momencie kiedy zamknę przeglądarkę... ?
Kończy się sesja i co potem? Wchodzę ponownie na strone i mam wszystko nieodwiedzone.... @venomz tabela z informacja ktory temat odwiedzony.... wyobraź sobie wielkość tabeli przy kilkunastu tysiącach userów(php.nq.pl) i tysiącach tematów.... Tu potrzeba lepszego patentu.... |
|
|
![]() ![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 425 Pomógł: 0 Dołączył: 28.05.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Trzeba to rozwiązać tak samo jak tutaj. Tyle, że nie wiem jak to jest zrobione.
![]() -------------------- nospor, jestem z Wami.
Alpha IT |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 18.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat wyobraź sobie wielkość tabeli przy kilkunastu tysiącach userów(php.nq.pl) i tysiącach tematów.... Tu potrzeba lepszego patentu.... nie wiem czy jest lepszy patent niz zapisanie tych informacji w bazie danych. jezeli chodzi o objetosc takiej tabeli to nie powinna ona byc az tak duza bo w zasadzie wystarczy w niej zapisywac id uzytkownika i id przeczytanego przez neigo tematu. zeby przyspieszyc proces wyszukiwania moznaby stworzyc kilka takich tabel (np. po jednej do kazdego dzialu). |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
Zakładając temat domyślałem się że może to nie być łatwe... szkoda tylko że np roziazanie z bazą danych jest tanie nieeleganckieale trudno, może jeszcze gdzieś się dowiem.
-------------------- Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A co w tym nieeleganckiego? Rusz głową, jak inaczej strona "miałaby wiedzieć", czy odwiedziłeś już jakąś podstronę czy nie? Zastosowanie bazy danych to najprostsze i właśnie najbardziej eleganckie rozwiązanie. A przy tym pewne.
-------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
To będzie tabelka przez którą będzie przelatywał system za każdym razem jak ktoś kliknie link,doda temat albo odpowiedź...po dłuższym namyśle myśle że jest to do zrobienia...byłem tylko trochę onieśmielony ciągłą pracą tej tabeli.
-------------------- Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 18.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Praktycznie kazda wieksza aplikacja stworzona w oparciu php i mysql buduje poszczegolne strony korzystajac z danych wyciagnietych z bazy. Takze nie ma nic dziwnego w tym ze po kazdym kliknieciu nastepuje zapytanie do bazy i pobranie z niej informacji. MySQL ma do siebie to, ze jest bardzo szybki i wygenerowanie odpowiedzi zwykle czas rzedu milisekund.
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
Czy może ktoś zaproponować przykładową strukturę takiej tabeli (piszę forum...wprawdzie nie jest ono pokaźne ale chętnie bym dodał taką funkcjonalność).Pozdr
-------------------- Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Mnie by się to w tej chwili widziało w ten sposób:
Przeznacz jakiś klucz w sesji (np. readThreads). Zrób z niego tablicę i po każdym przeczytaniu wątku przez usera dopisuj do niej ID tematu oraz zapisuj ten klucz w bazie, w rekordzie usera. Potem przy wyświetlaniu listy tematów sprawdzaj $readThreads[$idTematu. Jeśli jest - daj kopertę. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
No to jeszcze bierzemy pod uwagę dodanie nowej odpowiedzi w wątku - temat jest już traktowany jak nieprzeczytany....albo jeszcze inaczej , zmieniamy status tego tematu (chyba ostatusowanie ID tematów dla ID użytkownika będzie najlepszym rozwiązaniem ...zwłaszcza że takich statusów można wydzielić kilka - do tego może być kilka jednocześnie np. temat przeczytany w którym pisałes lub tylko przeczytany).
Będzie trochę zabawy.... ![]() -------------------- Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ale po co wyważać otwarte drzwi? Podejrzyj jak jest np. w phpBB.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 12:28 |