Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> CMS - Prywatne wiadomości + czat
Thorus
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 1.06.2016

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


Witam
Piszę grę via www w której chcę umieścić system prywatnych wiadomości i czat.
1.Odnośnie prywatnych wiadomości zastanawiam się jak przechowywać wiadomości:
- Stworzyć bazę danych w której każdy użytkownik bedzie miał swoją tabelę jako szkrzynkę odbiorczą. Tylko pytanie , czy takie podejście nie będzie powodowało za dużego obciążenia.
- Czy może stworzyć samą tabelę w już istniejącej bazie danych która będzie przechowywać wszystkie wiadomości. Tylko problem by był gdyby użytkownik chciał usunąć wiadomość ze swojej skrzynki. I w jaki sposób mógłbym wyświetlić wszystkie wiadomości należące do danego uzytkownika w jego szkrzynce odbiorczej?

2.Odnośnie czatu:
-Gdzie przechowywać wiadomości z czatu ? W pliku czy lepiej było by w bazie danych.
-I jak zrobić by strona nie odświeżała się podczas , wysyłania wiadomości ? Słyszałe o technologi AJAX , czy to dobre rozwiązanie , czy może dało by to radę jakoś inaczej zrobić ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
fklar
post
Post #2





Grupa: Zarejestrowani
Postów: 61
Pomógł: 13
Dołączył: 17.12.2011

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


1. Jedna tabela z wiadomościami: id | od | do | treść | data
2. Tak, w AJAX-ie wysyłasz wiadomości i pobierasz nowe bez przeładowania
Go to the top of the page
+Quote Post
com
post
Post #3





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


na początek zapoznaj się z ideea relacyjnych baz danych, bo brak Ci podstaw w tym temacie. Zamiast AJAX, mogą być również websokety.
Go to the top of the page
+Quote Post
Thorus
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 1.06.2016

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


com Wiem co to są relacyjne bazy danych tylko nie rozumiem za bardzo jak by to mogło mi pomóc rozwiązać mój problem, wydaje mi się że jest to zbędne , lecz mogę się mylić , jak byś mógł mi nakreślić zastosowanie relacji to byłbym wdzięczny (IMG:style_emoticons/default/smile.gif) . Jeśli miałbyś jakąś stronkę która w łopatologiczny sposób wytłumaczy co to jest websocket i jak go użyć to również byłbym wdzięczny (IMG:style_emoticons/default/wink.gif) .


fklar Tylko jak stworzę te wiadomości w jednej tabeli , to co mam zrobić z daną wiadomością gdy jeden z użytkowników usunie ją ? Jeśli odbiorca usunie ją to wiadomość powinna nadal być u nadawcy.
Go to the top of the page
+Quote Post
markonix
post
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Umieszczasz w bazie dwie kopie, flagę lub po prostu nie dajesz usuwać wiadomości prywatnych.
Go to the top of the page
+Quote Post
Thorus
post
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 1.06.2016

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


Zrobiłem tabelę w której będę trzymał wiadomości i wziąłem się za kodowanie. Tylko nie wiem za bardzo w jaki sposób mógłbym przyjąć rekordy z zapytania tak abym mógł je wyświetlić na stronie.
Dało by radę zrzucić wiele rekordów do tablicy za pomocą fetch_assoc; ?


I do tego nie wiem czemu wyskakuje mi taki błąd , stosowałem takie zapytanie na innych podstronach i działało poprawnie
Notice: Trying to get property of non-object in C:\xampp\htdocs\CMS\engine\messages.php on line 33

  1. if($wiadomosci = $connect_db->query("SELECT * FROM messages WHERE login='$login_S'")) throw new Exception($connect_db->error);
  2. $ile_userow = $wiadomosci->num_rows;
  3. echo $ile_userow;

Go to the top of the page
+Quote Post
markonix
post
Post #7





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Tak, http://php.net/manual/en/mysqli-result.fetch-all.php
Go to the top of the page
+Quote Post
SHiP
post
Post #8





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


Do socketów polecam socket.io Masz u nich na stronie nawet poradnik krok po kroku jak napisać chat. http://socket.io/get-started/ Problemem może być backend ugrany w node.js

Na początek to jednak AJAX-a polecam. Będzie w zupełności wystarczający ;-).

Ten post edytował SHiP 6.06.2016, 19:55:51
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: 26.09.2025 - 19:23