Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260

    Gestione nuovi messaggi nuovi personali

    Ciao a tutti!!

    Come faccio a gestire se gli utenti hanno già visitato uno speciale topic di un forum, oppure ci sono dei messaggi nuovi per loro?

    C'è qualche funzione, o bisogna gestirlo nel DB?

    Ciao e Grazie

    Simo
    ...IL GIANSA...

  2. #2
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260
    ...IL GIANSA...

  3. #3
    Se messaggi vengono registrati in un database allora devi aggiungere un uovo campo e sfrttarlo come un flag.
    Cioè normalmente deve essere uguale a 0 invece quando il messaggio viene letto lo imposti uguale a 1

  4. #4

    Re: Gestione nuovi messaggi nuovi personali

    Originariamente inviato da kepal
    Ciao a tutti!!

    Come faccio a gestire se gli utenti hanno già visitato uno speciale topic di un forum, oppure ci sono dei messaggi nuovi per loro?

    C'è qualche funzione, o bisogna gestirlo nel DB?

    Ciao e Grazie

    Simo
    allora per i messaggi privati va bene come ti hanno detto, ovvero un flag che indica letto\non letto
    mentre per l'altro...beh...devi avere una tabella con l'elenco degli utenti e un campo text con un'elenco di ID che corrispondono all'elenco dei threads

    in questo modo fai un LIKE e cerchi all'interno del campo appena apre il forum e lo fai anche molto velocemente xche è un'operazione relativemente leggera
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260
    Da quanto ho capito,nella tabella utente aggiungo un nuovo campo TEXT con dentro l'elenco dei topic dove vi sono dei messaggi non letti, giusto?

    ma nel caso l'utente legga quel topic, come faccio a far sparire dall'elenco quel numero di topic??

    Ciao e grazie
    Simo
    ...IL GIANSA...

  6. #6
    dove ci sono i messaggi letti, non quelli non letti ^^

    un bel replace

    ovviamente metti ad inizio e fine del testo una virgola, in questo modo puoi gestire tutto molto + facilmente

    oppure puoi anche eseguire una query...o quando l'utente fa il login splitti tutto e lo metti nella sessione cosi devi solo updatare il db
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #7
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260
    HO CAPITO!!!

    Sei troppo avanti!

    Grazie mille! Ciao Simo
    ...IL GIANSA...

  8. #8
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260
    Una domanda:

    Quando un altro untente inserisce un nuovo messaggio, come faccio a far tornare il topic "non letto"??

    Ciao e grazie
    Simo
    ...IL GIANSA...

  9. #9
    Originariamente inviato da kepal
    Una domanda:

    Quando un altro untente inserisce un nuovo messaggio, come faccio a far tornare il topic "non letto"??

    Ciao e grazie
    Simo
    xche ti lanci una bella query di update in questa tabella e vai a sostituire usando REPLACE il testo che ti interessa in tutte le righe che lo contengono...qualcosa del tipo...

    UPDATE SET elenco_thread = REPLACE(elenco_thread, ',{$thread_modificato},', ',') WHERE elenco_thread LIKE '%,{$thread_modificato},%'

    in questo modo dovresti farlo senza grossi problemi...ovviamente una query del genere è TREMENDAMENTE pesante quindi è impostante che metti BENE gli indici e che usi la ricerca full text che ti occupa + spazio ma che non ti fa morire tutto

    ovviamente elenco_thread è un TEXT
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  10. #10
    Utente di HTML.it L'avatar di kepal
    Registrato dal
    Apr 2004
    Messaggi
    260
    Cosa intendi per "ricerca full text"??

    Scusa l'ignoranza...

    Ciao
    ...IL GIANSA...

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.