pogrom
4.01.2009, 21:16:41
potrzebuje skryptu dzieki ktoremu bedzie mozliwe wysylanie wiadomosci do poszczegolnych uzytkownikow wewnatrz strony...mam juz logowanie rejestracje itp(nie w bazach danych) a tego nie moge jakos zrobic...z gory dzieki za pomoc
Rafal Filipek
4.01.2009, 22:36:06
to z czym masz problem ?
masz tabele
Kod
users: id, login
messages : id (int), sender_id (int), reciver_id (int), message (text), readed(tinyint)
i teraz jak ktos sie zaloguje to pewnie przechowujesz jego id gdzies w sesji. Tak wiec musisz tylko zrobic pobieranie wiadomosci ktore maja readedustawione na 0.
Kod
select * from messages where readed= 0 and reciver_id = ( tutaj wstawiasz id użytkownika )
potem jak ktos wejdzie zeby przeczytac czy ma nowa wiadomosc o ile jest to pierwszy raz gdy ja czyta zmieniasz readed na 1
Kod
update messages set readed = 1 where id = ( tu wstawiasz id wiadomosci )
i tyle. do tego jakies kasowanie wiadomosci.
pogrom
4.01.2009, 22:49:25
nie potrzeba mi skasowane/czytane/nieczytane itp. chodzi mi tylko zeby trafialy do konkretnego uzytkownika i do nikogo wiecej...jezeli potrzeba to moge wrzucic to co mam w tej chwili
Rafal Filipek
4.01.2009, 22:54:36
No to przeciez masz w tabeli messages pole reciver_id które przechowuje id użytkownika do którego wiadomość ma trafic.
pogrom
4.01.2009, 22:56:24
nie mam takowej tabeli....
Rafal Filipek
4.01.2009, 22:58:23
myfgod. W moim przykładzie. chciałem ci pokazać zasadę działania. żeby wiedzieć do jakiego użytkownika ma trafić dana wiadomość musisz jakoś przchowywać jego identyfikator dla każdej wiadomości - najlepszym rozwiązaniem jest jego id które tak jak napisałem na pewno przechowujesz po zalogowaniu sie przez niego w sesji.
pogrom
4.01.2009, 23:02:40
no tak do tego sam doszedlem...co do twojego przykladu to nic z niego nie zrozumialem ogolnie;) (jestem mocno zielony w php) wiem jak zrobic zeby wiadomosc byla do wszystkich tylko chodzi mi o jakas komende czy kawalek skryptu dzieki ktoremu tylko jeden uzytkownik bedzie mogl czytac to wiadomosc(nie umiem wykorzystac tego id uzytkownika wczesniej ustalonego)
Rafal Filipek
4.01.2009, 23:05:20
podałem ci przykład zapytania do wybierania wiadomości dla danego użytkownika. ciężko jest mi bardziej ci pomóc bo nie wiem w czym masz problem. to są naprawde totalne podstawy. Zacznij coś pisać i zgłaszaj się jak wyniknie ci jakis konkretny problem.
pogrom
4.01.2009, 23:07:26
no to mam konkretny problem...nie wiem jak wykorzystac login (czyli te id ktore ustalalem wczesniej) do tego zeby ten uzytkownik czytal wiadomosc a inny nie...
Rafal Filipek
4.01.2009, 23:10:39
Kod
select * from messages where readed= 0 and reciver_id = ( tutaj wstawiasz id użytkownika )
to zapytanie do bazy danych zwroci ci listę wszystkich wiadomosci danego użytkownika. sorry jak nie umiesz wykorzystac tego zapytania / przykładu to powinienes przeobic dokładnie jakis kurs php / mysql ( czy innej bazy jakiej używasz ).
pogrom
4.01.2009, 23:13:20
heh...moj pierwszy post w tym temacie - chodzi o to ze ma to nie byc w bazie danych i w tym problem...to co pisales wczesniej istotnie jest proste ale w oparciu o bazy danych a ja myslalem ze piszesz wlasnie nie o bazch danych - stad cale nieporozumienie
Rafal Filipek
4.01.2009, 23:15:38
no to jak przechowujesz dane ? w pliku tekstowym ? jaki to ma format ?
zasada działania jest taka sama tyle, że plik musisz przejrzec cały i wyłuskać z niego wiadomosci dla danego użytkownika.
pogrom
4.01.2009, 23:17:34
zwykly plik tekstowy...narazie przechowuje wszystkie wiadomosci w jednym pliku jutro zrobie zeby dla kazdego uzytkownika byl oddzielny pliczek z wiadomosciami i teraz nie wiem jak to potem do konkretnego uzytkownika przekazac
Rafal Filipek
4.01.2009, 23:20:30
omg, no to zapisuj wiadomosci dla odbiocy a nie nadawcy. jezeli ktos napisze wiadomosc do uzytkownika o id = 2 to zapisz to w pliku ( to tylko przykladowa nazwa ) messages_2.txt i juz. potem jak uzytkownik o id = 2 sie zaloguje to pobierzesz plik messages_2.txt i wyswietlisz wszystkie wiadomosci.
pogrom
4.01.2009, 23:22:45
dobra moze cos z tego zrobie tak czy siak dzieki za pomoc
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.