Metodo per messaggi privati

XMatt64

Nuovo Utente
17 Feb 2013
22
0
0
Salve a tutti. Sto sviluppando un specie di socialnetwork. Volevo integrare un sistema di messaggi però non so se è meglio utilizzare il database ed un sistema fatto adhoc in php oppure appoggiarsi ad un server mail e fare un frontend per accedere ai messaggi in php. Se la cosa migliore da fare è utilizzando il database non è che mi potreste consigliare come creare e strutturare sia la tabella nel database sia il frontend? (Non voglio una guida già fatta perchè non c'è gusto nel fare un semplice copia e incolla) Grazie!
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Si utilizza un database e come minimo di devono essere:
id_mittente | id_destinatario | messaggio

Poi puoi aggiungerci l'oggetto del messaggio, l'ora e tutto quello
Che vuoi. Questi sono i campi principali però.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Inoltre, se permetti ai tuoi utenti di eliminare/archiviare i messaggi, ricordati che dovrai inserire due righe nel database per ogni messaggio. Altrimenti, se Pippo invia un messaggio a Pluto, e Pluto lo cancella, il messaggio sparirà anche dall'account di Pippo.
 

XMatt64

Nuovo Utente
17 Feb 2013
22
0
0
Grazie per i consigli! Ora vedrò di scrivere gli script e di creare una tabella o un db per i messaggi! :D
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Ale io quello lo gestirei (e lo gestisco) con un campo eliminato con un valore iniziale nullo e se lo elimina il mittente va a 1 oppure se lo elimina il destinatario va a 2.
Nel caso in cui lo elimina il mittente (o il destinatario) e c'è già il valore 2 (oppure 1) allora verrà eliminato fisicamente (sempre se si vuole).
Spiego meglio:
Se il messaggio viene eliminato sia dal mittente sia dal destinatario allora lo elimino fisicamente.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
A me piace (piaceva, è parecchio che non creo un'applicazione con supporto per i messaggi privati) creare due copie del messaggio, anche perché è così che l'utente vede poi le cose, ed è tutto molto più semplice. L'utente elimina il messaggio e io elimino la riga dal database.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
E quale è la differenza tra le due righe che vai a creare? (Così da individuare quella da eliminare)
 

XMatt64

Nuovo Utente
17 Feb 2013
22
0
0
Scusate se mi intrometto, ma se io creo un campo che ha valore o 0 o 1, e con 0 disattivo il messaggio e 1 attivo il messaggio non è meglio? Perchè così se uno dei due utenti decide di eliminare il messaggio esso rimarrà nel database e se qualcuno lo richiede posso sempre riattivare il messaggio che, alla fine, non sarà altro che un semplice record!
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Da questi scambi di idee c'è solo da apprendere quindi meglio se ti 'intrometti'.
Il problema di cui parliamo va oltre..perché il messaggio che elimina uno non è eliminato per l'altro (se così la vuoi gestire).
Quindi discutevamo per la gestione di questo particolare.
Nel metodo che hai proposto tu se io elimino il messaggio che ho inviato (o ricevuto) si elimina anche nel 'registro messaggi' di colui che l'ha ricevuto (o inviato).
 

XMatt64

Nuovo Utente
17 Feb 2013
22
0
0
Beh penso che se una persona elimina un messaggio è perchè magari non vuole più leggere quella discussione. Il metodo migliore, o almeno io con i miei 16 anni di vita e 4 di esperienza in php la penso così, è di eliminare il messaggio per entrambi poiché, se io non voglio che quel messaggio sia letto o sia ancora visibile da entrambi, in questo modo lo posso fare. Un altro metodo può essere quello di non cancellare mai i messaggi anche se così, molto probabilmente, il futuro server dovrà impiegare molte risorse per le query. Comunque "intromettere" voleva essere un termine simpatico per intrufolarmi nella vostra discussione!
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Veramente dappertutto funziona in modo leggermente diverso.
Guarda per esempio i messaggi di Facebook (tanto per dire)..se tu li cancelli all'altro rimangono..
Poi se li cancellano entrambi Facebook non li cancella fisicamente ma li la gestisci come vuoi.
 

XMatt64

Nuovo Utente
17 Feb 2013
22
0
0
Si lo so! Sono molto combattuto se fare come Facebook o fare una cosa "diversa"! Devo solo pensare e provare e vedere poi come mi piace di più la frontend! Dipende anche da come preferisce la gente. Per un metodo simile a Facebook dovrei creare due copie del messaggio o devo inserire due campi in una tabella.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Io inserirei un altro campo. Poi fai come vuoi sono entrambi metodi efficaci anche se uno ti raddoppia la lunghezza della tabella invece l'altro di aumenta il numero dei campi.
Mi azzardo a dire (Ale se sbaglio smentisci) che per le regole di ottimizzazione del db si dovrebbe aggiungere un campo invece di aggiungere un intero record che avrà quasi tutti i campi identici all'altro contenendo così poca informazione.
 

XMatt64

Nuovo Utente
17 Feb 2013
22
0
0
Si hai ragione! Mio padre lavora con i database tutti i giorni ed infatti ne sono molto esperto!
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Le regole di ottimizzazione del database passano in secondo piano quando c'è di mezzo una buona organizzazione dell'applicazione. Per esempio, se dovessi inserire più valori numerici associati a un record, il primo impulso sarebbe quello di creare un campo e inserirli lì, magari separati da virgola. Invece il modo corretto di procedere è creare un'altra tabella e creare un record per ogni valore associato.

I tempi di caricamento si ottimizzano su altro, per esempio facendo attenzione a scrivere delle query ben fatte.
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Metodo migliore per fare login a un DB Mysql PHP 1
S Il metodo $.getJSON() e <select> che non si popola di dati per query troppo grandey Ajax 0
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
F Miglior metodo per contare le righe di una query MySQL 2
K consiglio sul metodo per lo zoom dell'immagine PHP 4
G un metodo veloce per inserire immagini all'interno di un database PHP 3
M metodo veloce per variabili globali PHP 1
C AllTrafficSeo - Un nuovo metodo per ottenere referrals/visite Guadagnare col Sito 0
G Io ho trovato il metodo per guadagnare onesto e sicuro.entrate. Guadagnare col Sito 2
P metodo per carrello elettronico PHP 3
MarcoGrazia Metodo migliore per gestire un template PHP 5
A Esiste un metodo per convertire HLTM in XML? XML 1
D Un solo metodo per 100 form PHP 2
A Un nuovo metodo per aumentare le visite al sito sfruttando un vecchio principio Guadagnare col Sito 1
S passare un valore da un form a un file .php con metodo post PHP 4
Y come usare il metodo GET PHP 21
A php metodo post jquery non da mai errore jQuery 4
Fendo59 Passare parametri con metodo POST a una pagina in un frame PHP 0
P Passaggio di parametro al metodo: public void run() Java 3
M [PHP] Passare variabile di sessione con metodo GET PHP 10
C [Java] testare un metodo con Junit Java 1
P METODO DI ALLOCAZIONE CONCATENATA (FAT) Windows e Software 0
N [java con eclipse]metodo ricorsivo che accetta in ingresso un char e restituisce un int Java 0
S [PHP] form con metodo get e recupero id PHP 4
romildapra Un metodo raro Posta Elettronica 2
V (Vendo) Metodo generare Like facebook Annunci servizi di Social Media Marketing 4
F [ASP] passaggio parametri form metodo post Classic ASP 6
F [Javascript] Inviare i campi di un form col metodo post Javascript 7
M [PHP] API con metodo POST PHP 0
momeraths Metodo mouseover associato ad una trasformazione css jQuery 0
S Popolare campi di input con metodo $.getJSON jQuery 6
M [RISOLTO] Cosa sono le < > in una dichiarazione di un metodo Java? Java 5
C PHP METODO POSTBACK PHP 2
V Collegamento metodo$.ajax con file php jQuery 10
C [PHP] Metodo di una classe in sltra classe PHP 1
T [PHP] Metodo che restituisce un array PHP 5
Benix89 [Magento] Metodo di pagamento personalizzato Magento 0
Rikk73 Passare come argomento in un metodo un parametro della classe istanziata PHP 0
G Domanda sul metodo GET PHP 1
A metodo css("attributo", "valore") con ajax jQuery 1
C controllo con metodo text non funzionante Javascript 7
N metodo __construct. cos'è di preciso? PHP 1
T Problema con il passaggio dati metodo "POST" PHP 1
L [PHP/HTML] Inserire metodo di pagamento PHP 4
K alcuni chiarimenti sul metodo di ricerca nelle stringhe o array Javascript 1
G Come far passare un valore attraverso il metodo POST utiliazzando PHP a jQuery PHP 4
J Implementazione metodo Java 1
Sevenjeak [Java] Aiuto metodo trova successivo Java 0
S devo creare un popup con metodo post HTML e CSS 0
voldemort Javascript e il metodo Replace Javascript 1

Discussioni simili