Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pogrubienie linku ala nie przeczytana wiadomosc pocztowa
kalu111
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 22.07.2006

Ostrzeżenie: (0%)
-----


Chcialbym aby w panelu user ktory sie loguje widzial ktore przeczytal wiadomosci a ktore nie. Nie przeczytane powinny byc pogrubione, cos na wzor systemow pocztowych.
Mam jedna tabele z userami i jedna z wiadomosciami.
Mozna by uzyc osobnej tabeli do zapisywania id userai id przeczytanej przez niego wiadomosci w osobnym rekordzie lub poprostu utworzyc dodatkowe pole w tabeli z userami i tam po przecinku dodawac kolejne przeczytane wiadomsci.
Nic innego jak na razie mi do glowy nie przychodzi (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Jesli jedna wiadomosc moze czytac wiecej niz jedna osoba najlepszy pomysl wlasnie zrobic osobna tabele uzytkownik, przeczytana wiadomosc. Jesli jedna wiadomosc - jeden uzytkownik to oczywiscie najlepiej zrobic przy wiadomosci bool przeczytana / nie przeczytana przez uzytkownika. Dawanie jakis wartosci po przecinku nie zalecam.. ewentualnie w postgresql jest cos takiego jak pole typu array mozesz sprobowac tym sie pobawic.
Go to the top of the page
+Quote Post
cicik
post
Post #3





Grupa: Zarejestrowani
Postów: 219
Pomógł: 5
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

Ostrzeżenie: (0%)
-----


Cytat(kalu111 @ 18.09.2006, 12:42:57 ) *
Mozna by uzyc osobnej tabeli do zapisywania id userai id przeczytanej przez niego wiadomosci w osobnym rekordzie


Rozwiazanie dobre aczkolwiek zalecam pewną modyfikacje. W tej dodatkowej tabeli lepiej trzymac info o nieprzeczytanych wiadomosciach niz, tak jak proponujesz, o przeczytanych.
W miare jakludzie beda czytac wiadomosci bedzie ci malec liczba rekordow w bazie a nie rosnac. Efekt wizualny dla frontendu ten sam.
Go to the top of the page
+Quote Post
kalu111
post
Post #4





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 22.07.2006

Ostrzeżenie: (0%)
-----


oczywiscie, tez o tym pomyslalem
THX
Go to the top of the page
+Quote Post
bialko0019
post
Post #5





Grupa: Zarejestrowani
Postów: 294
Pomógł: 4
Dołączył: 19.12.2008

Ostrzeżenie: (0%)
-----


a nie można było by zrobić tak, że dodać jedną kolumnę do tabeli z wiadomościami o nazwie np. `czy` i domyślną wartością 1 ( nowa wiadomośc) . Jezlei ktoś ją przeczyta ( w pliku ktorym się czyta), wpisujesz UPDATE `wiadomosci` SET `czy` ='2' WHERE `id`='$id' ? Potem możesz wyświetlić np. 15 nie przeczytanych wiadomości ( 15 rekordów okreslonego użytwkonika z polem `czy` i wpisanym 1 )

Tak myslę, było by najlepiej

EDIT : Nie zobaczyłem daty tematu, ale może komuś się przyda (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował bialko0019 1.07.2009, 23:43:31
Go to the top of the page
+Quote Post
golaod
post
Post #6





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Twoje rozwiązanie jest moim zdaniem zbyt słabe. Lepszym jest jak ktoś wspomniał zrobienie dodatkowej tabeli dla nieprzeczytanych bo:
- można to podpisać pod wielu userów
- łatwiejsze w modyfikacji ( nie wiem jak długo programujesz ale dodawanie kolejnych kolumn bo się wpadło na pomysł dorobienia czegoś to....maraton zakończony po 50 metrach)

Poza tym robiąc left join dostaje się ładne dane tzn dodatkowa kolumna z null lub konkretnym id co jest dla nas pomocne:
  1. <?php
  2. if( ! is_null( $kolumna_zjoinowana ) ) {
  3.  echo 'pogrubione';
  4. }
  5. ?>

Owszem rozwiązanie z dodatkową tabelką niesie ze sobą minus w postaci dodawania przy nowej wiadomości dodatkowego rekordu do tej tabelki, że nie jest ona przeczytana (lub wywoływanie triggera po insercie). Czym jednak ta drobnostka jest ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 23:01