![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 1 Dołączył: 6.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, potrzebuje pomocy. Próbuję napisać skrypt, który będzie informował o nowych, nieprzeczytanych postach/tematach (tematy będą lepszym rozwiązaniem na mojej stronie). Krótki opis jak ona wygląda: na stronie głównej znajduję się 110 obrazków - każdy z nich jest linkiem i prowadzi do wybranej podstrony. Na każdej z tych stron zainstalowany jest skrypt komentarzy.
1. Głównym moim celem jest taki skrypt, żeby po napisaniu nowych postów obrazek na stronie głównej zmieniał np. obramowanie albo jakiś inny efekt informujący użytkownika o nowym poście. Jednak na razie nie będę się porywał na głęboką wodę. 2. To, co chciałbym osiągnąć teraz: aby wyświetliła się lista tematów, w których zostały dodane nieprzeczytane posty (w moim przypadku z tabeli MySQl będą to urly) Oczywiście szukałem na google, ale jak wiadomo gotowca nigdzie się nie znajdzie bo trzeba dostosować taki skrypt do swojej strony/forum. Na pewnym forum udało mi się znaleźć taką wskazówkę: Cytat "Tabela 'nieprzeczytane': - userID - msgID albo topicID (co niesie za sobą pewne wady, ale też uproszczenia) Przy odświeżaniu strony przez użytkownika, sprawdzamy datę jego ost. odświeżenia strony i pobieramy z tabeli postów ID tych wiadomości, które mają datę > niż data użytkownika. Uzupełniamy tabelę tymi wpisami. Aby zapobiec przepełnieniu, możemy przy dodawaniu rekordów do tabeli sprawdzić jeszcze, czy np. ten użytkownik nie ma już 1000 nieprzeczytanych postów/tematów. Wtedy tabelę odpowiednio czyścimy smile.gif Mam 3 tabele w bazie danych:
A teraz kod, który jak na razie udało mi się napisać ... tak wiem, że to niewiele, ale raczkuje w tym temacie. logowanie = ostatnie logowanie użytkownika zalogowani = ostatnia aktywność użytkownika na stronie $_SESSION['nick'] = nick zalogowanego już użytkownika Trochę chaotyczne mam te nazwy, ale to moja pierwsza strona i jeszcze się trochę gubię w tym wszystkim ![]()
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie lepiej przechowywać przeczytane tematy?
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 1 Dołączył: 6.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Właściwie racja, ale jak miałby wyglądać kod do tego co tu wstawiłem?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 10 Dołączył: 13.03.2014 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Calego skryptu Ci teraz nie napisze bo na tablecie byla by to masakra, ale w skrocie o tak:
Tworzysz tabelke readed a wniej pola: -readed_id -user_nick -topic_id Teraz pobierasz wszystkie tematy ktore maja sie pokazac userowi. Teraz, foreach po kazdym poscie aby je wyswietlic, a w miejscu gdzie masz klase jakiegos diva to: <div class="topic <?php if (!isReaded($topicId, $userNick)) echo 'not-readed'; ?>">TRESC</div> funkcja isReaded: function isReaded($topicId, $userNick){ $query = "SELECT readed_id FROM readed WHERE topic_id = '$topicId' AND usr_nick = '$userNick"; if (count(mysql_query($query)) >= 1) return TRUE; else rreturnFALSE; } Powinno to dzialac ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 1 Dołączył: 6.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za funkcję do diva, to na pewno się przyda
![]() Do pełniejszego zrozumienia problemu wkleję kawałek index.php oraz skryptu, którego używam do komentarzy (jest prosty i jeszcze niezabezpieczony). plik wyslij.php
plik formularz.php
plik index.php, który zawiera obrazki i przekierowuje na podstronę np. sven.php (a w nim includowany jest wyżej wymieniony skrypt komentarzy).
Mógłbym Cię prosić o napisanie reszty skryptu w takim przypadku jak to wygląda u mnie na stronie? Odświeżam temat, proszę o pomoc ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:55 |