The Night Shadow
7.02.2006, 14:58:55
Od paru godzin ślęczę nad kartką papieru próbując to rozplanować i nie bardzo mi wychodzi, więc zwracam się do Was (na forum szukałem nie znajdując odpowiedzi).
Chcę wykonać system prywatnych wiadomości, które użytkownicy danej strony mogliby przesyłać między sobą, a które działałyby na zasadach zbliżonych do forum tzn. użytkownik X zakłada temat dyskusji z użytkownikiem Y i wzajemnie dodają kolejne posty, które odpowiednio wyświetlają im się na stronach.
Przypuszczam, że najlepiej byłoby to rozwiązać umieszczając dane w dwóch tabelach (jedna to posty, a druga lista dyskusji, do których przywiązane są kolejne wypowiedzi). Z całością nie było żadnych problemów do momentu, w którym dobrnąłem do ostatniej, a jednocześnie najważniejszej opcji, zakładania dyskusji. Podług tego co napisałem skrypt musiałbym dodawać nowy rekord do tabeli z listą dyskusji (idtematu, data_założenia, temat_dyskusji) i jednocześnie pobierać numer id założonego tematu (przez wzgląd na autonumerowanie) dalej wstawiając go w odpowiedniej rubryce w tabeli z postami. Tam też (idpostu, ID_TEMATU, data, itd.)
Myślałem już nad rozwiązaniem tego tak, by po założeniu dyskusji skrypt pobierał najnowszy rekord, a z niego id, ale to się sypie gdy zaraz po dodaniu rekordu ktoś doda nowy (przed tym jak skypt pobierze dla mnie te dane).
W ostateczności mogę do tabeli z listą dyskusji dodać kolumnę zalozona_przez i pobierać ostatni temat mnie (jako zalogowanego użytkownika), ale czy istnieje prostsza metoda?
Z góry wielkie dzięki... :- )
nospor
7.02.2006, 15:02:57
Cytat
Myślałem już nad rozwiązaniem tego tak, by po założeniu dyskusji skrypt pobierał najnowszy rekord, a z niego id, ale to się sypie gdy zaraz po dodaniu rekordu ktoś doda nowy (przed tym jak skypt pobierze dla mnie te dane).
Juz to ze trafisz w totka szostkę ma 100 razy większe prawdopodobienstwo, niz to czego się boisz

Ja tak robie non stop i dziala git.
Druga sprawa. W tabeli z topicami, możesz od razu dac jeszcze pole na pierwszy wpis. Wkoncu to tabela topicowa. Dopiero potem bedziesz podpinal inne posty w drugiej tabeli, ale wowczas juz o id nie musisz sie martwic
The Night Shadow
7.02.2006, 15:13:27
Hmm... :- ) No tak, ale jeśli w tabeli z tematami będzie jeden post...
Pierwsza strona to lista tematów gdzie pod każdy podepnę link "Odpowiedz". Tu za pomocą formularza z ukrytymi inputami id tematu będzie przesyłane do kolejnej strony z odpowiedzią, na której skypt zamiast jednego zapytania do bazy o pobranie wszystkich postów podpiętych do odpowiedniego id, wykona dwa. Raz o pobranie postu z tabeli z tematami, a dwa z tabeli z postami.
Choć to i tak pewnie ma niezauważalny wpływ na szybkość generowania strony?
Planuję jeszcze dodać coś co w ostatnim czasie znalazło się na Forum PhBB zmodyfikowanego przez Przema, a mianowicie po tym jak kursor znajdzie się nad tutułem tematu wyświeli się dymek z np. dwoma ostatnimi postami.
W każdym razie dzięki wielkie za rozwianie wątpliwości... :- )
nospor
7.02.2006, 15:29:01
no ale i tak bedziesz musial wykonac zapytanie do tabeli z topiciem, chociazby poto by pobrac jego temat
The Night Shadow
7.02.2006, 15:36:38
Hmm... w sumie, tak. Na stronie z listą dyskusji pobiera temat, więc mógłby pobrać i treść pierwszego postu, ale ta z kolei trzeba by przesłać za pomocą formularza do kolejnej strony, czyli... :- ) Właściwie na jedno wychodzi... :- )
nospor
7.02.2006, 15:41:18
Cytat
Na stronie z listą dyskusji pobiera temat,
To ty jak wchodzisz z listy tematow do danych postow, to przekazujesz formularzem temat tej dyskusji dalej? Ale przy takim zalozeniu do postow danego tematu bedzie mozna tylko dojsc poprzez liste dyskusji. A co gdy ktoś ma juz linka do tematu i nie chce wchodzic do listy dyskusji? Nie uda mu sie to, albo sie uda, tyle tylko ze nie będzie mial tytulu dyskusji, bo nie bedzie on przeslany formularzem.
Rozumiesz oco mi chodzi? Może to troche chaotycznie opisalem...
edit:
choc raczej trzymanie wszystkich postow w jednej tabeli byloby lepsze. chocby ze wzgledu na wyszukiwanie
The Night Shadow
7.02.2006, 15:53:59
Przepraszam... coś mi się z komputerem działo.
Tak rozumiem o czym pisałeś. Tutaj akurat świadomie nie chcę, by dało się przeglądac jakiekolwiek podstrony z linków ;- )