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
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...
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
allora per i messaggi privati va bene come ti hanno detto, ovvero un flag che indica letto\non lettoOriginariamente 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
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
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...
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
HO CAPITO!!!![]()
Sei troppo avanti!
Grazie mille! Ciao Simo
...IL GIANSA...
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...
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...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
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
Cosa intendi per "ricerca full text"??
Scusa l'ignoranza...
Ciao
...IL GIANSA...