Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: forum
Forum PHP.pl > Forum > PHP
Stron: 1, 2
misterLu
racja! ja proponowałem rozwązanie "Zobacz posty od ostatniej wizyty". Tak to jest rozwiązane w phpBB
scanner
I jest to bardzo ułomne.
Moje rozwiązanie stwarza pewna nadmiarowość danych jednak zapewnie w 100%, że jeśli użytkownik czegoś nie cztał, to zawsze to będzie miał oznaczone jako nieczytane, chyba, ze świadomą akcją spodowuje "odznaczenie".
Vengeance
Cytat(misterLu @ 2004-10-05 18:50:45)
Problem można rozwiąząc beż użycia cookies, bez tabel z przeczytanymi/nieprzeczytanymi postami.

Wystarczy w tabeli z użytkownikami dodać 1 kolumnę: data_ostatniego_logowania (najlepiej timestamp) i przy każdym poście/temacie dodać (o ile nie ma)kolumnę data_dodania. i w tej chwili wszystko już mamy, nie potrzeba nam żadnych COOKIES, dodatkowych tablic, ani nic.

Aby uzyskać nieprzeczytane posty wystarczy wybrać z bazy te, które mają świeższą datę od daty ostatniego_logowania usera wchodzącego na stronę.

pisząc swoje forum tak to na początku rozwiązałem.

minusy:
Gdy user sam napisze posta, pokazuje mu ze go nie czytal.
W zaleznosci od tego kiedy ustawiasz date osattniego logowania
moga wyniknac rozne anomalie ;]
KRCreater
Moje forum mieści się w jednym pliku index.php to dobrze czy źle (nic nie includuje poza konfiguracją)

Czy stało by się bardziej wydajne jeśli podzielił bym skrypt na części np. ODPOWIEDZ / NOWY TEMAT / USUN POST / ZAMKNIJ POST cte. questionmark.gif?\

***

Forum skończyłem smile.gif)))))))))
Teraz je upiększam :]
Jak skończę moją stronę to wam pokażę moje dzieło smile.gif
Ale odpowiedzcie mi na pytanie powyżej winksmiley.jpg

Pozdrawiam

***

aktualnie pracuję nad tym:

Cytat
Jeszcze mam jeden pomysł , aby nowe topic'i to były tylko ostatnie 20 ich...bo po co ma być zaśmiecana baza wszystkimi. A oczywiście 20 albo 10 z każdego działu. Jeszcze nie wiem ile wybrać tongue.gif
scanner
Napisałeś forum dyskusyjne na jednym pliku?
To ja powiem tak:

Cholernie źle.
- Polecam za pół roku wprowadzić do niego modyfikację.
- nie masz skór
- nie masz wersji językowych
- masz bałagan.

Czy kod będzie do wglądu?
KRCreater
Nie potrzebuje wersji językowych, a skórę dostosowałem do mojej strony.
Tylko dopracuje forum i pokaże wam skrypt.

***
Oto jak rozwiązałem funkcję która będzie mi pokazywać tylko 10 nowych wiadomości, a resztę wpisów usunię z bazy (może to zagmatwane, ale kod wszystko wyjaśni):
  1. <?php
  2.  
  3. $z= &#092;"SELECT * FROM forum_dzialy\";
  4. $w= mysql_query($z);
  5. while($t = mysql_fetch_array($w)){
  6.  
  7.  
  8.  
  9.   $z1 = &#092;"SELECT * FROM forum_topic WHERE id_dzialu='\".$t['id'].\"' ORDER BY id_ost_odp DESC\";
  10.   $w1 = mysql_query($z1);
  11.   while($t1 = mysql_fetch_array($w1)){
  12.  
  13.     if($i > 9){
  14.  
  15.     $z2 = &#092;"DELETE FROM new_post WHERE id_topicu='\".$t1['id'].\"' \";
  16.     $w2 = mysql_query($z2);
  17.  
  18.     }
  19.     $i++;
  20.  
  21.   }
  22.  
  23. }
  24.  
  25. ?>


Działa elegancko!!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.