Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: CMS - Prywatne wiadomości + czat
Forum PHP.pl > Forum > PHP
Thorus
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ć ?
fklar
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
com
na początek zapoznaj się z ideea relacyjnych baz danych, bo brak Ci podstaw w tym temacie. Zamiast AJAX, mogą być również websokety.
Thorus
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 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 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.
markonix
Umieszczasz w bazie dwie kopie, flagę lub po prostu nie dajesz usuwać wiadomości prywatnych.
Thorus
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;

markonix
Tak, http://php.net/manual/en/mysqli-result.fetch-all.php
SHiP
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 ;-).
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.