Visualizzazione dei risultati da 1 a 5 su 5

Discussione: messaggistica veloce

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433

    messaggistica veloce

    ciao a tutti sono a chiedervi un consiglio.

    devo integrare all' interno di una applicazione web un sistema di messaggistica(gli utenti possono comunicare tra di loro e tutte le discussioni devono poter essere viste dall' amministratore) :

    un utente deve poter mandare un messaggio all' amministratore o ad alcuni (o tutti) gli altri utenti del sito.

    il mio problema è come posso fare in modo che un utente possa vedere solo le comunicazioni che lo riguardano. a livello pratico come imposto la tabella???

    avevo pensato a 2 alternative:
    A) un utente dopo aver scelto a chi mandare la mail (tramite un "vettore di checkbox") inserisco tanti record nella tabella messaggi con i campi DA IDMIT e IDDEST per quanti destinatari ci sono... e poi con una query trovo solo le righe di competenza di ogni singolo utente (il problema è che si creano molte righe )

    B)un utente dopo aver scelto a chi mandare la mail (tramite un "vettore di checkbox") inserisco 1 solo record con il campo IDMIT e un campo testo nel quale inserisco tutti gli IDDEST e poi li recupero tramite un vettore e confronto se quell' utente deve o no vedere quel messaggio (svantaggio : è molto piu' laborioso)

    se avete capito il tutto cosa mi consigliate?? avete la soluzione C ???
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  2. #2
    Potresti fare una tabella in cui memorizzi i messaggi (IDmsg, mittente, data, testo, e altri campi a seconda delle esigenze) e una in cui memorizzi le relazioni tra i messaggi e gli utenti a cui sono destinati (ID, IDmsg, IDutente).

    Quando si invia un msg si creera' un record con il testo del messaggio, il mittente, la data e un ID univoco, e si creeranno tanti record quanti sono i destinatari nell'altra tabella, ognuno riferito all'IDmsg appena inserito (lo recuperi con mysql_insert_id()). Quando invece devi visualizzare i msg a seconda dell'utente, puoi gia' restringere di molto la ricerca tramite l'IDutente nella seconda tabella.

    EDIT - dimenticavo: nel caso il messaggio inserito sia destinato a tutti gli utenti indistintamente, fai in modo di inserire un valore particolare (tipo -1) nella colonna dell'ID dell'utente cui e' destinato, per evitare di creare un record per ogni utente, e anche per fare in modo di includere in modo automatico gli utenti che vengono creati in seguito.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    grazie per la tua idea...

    volendo fare tutto con una tabella???
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    ora dovrei cancellare automaticamente i messaggi piu' vecchi di 3 mesi...

    come devo impostare la query???

    le tabelle come consigliato sono

    tab - messaggi:
    idmex - idmit - datadb (in formato datetime)
    tab - colle
    idmex - idmit

    come faccio???

    questa serve per cancellare solo dalla tab messaggi
    $dest="DELETE FROM messaggi WHERE datadb<=(CURDATE()-INTERVAL 3 MONTH)";

    ma come faccio per i collegamenti?
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    up
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.