Salve a tutti,
Di recente ho deciso di inoltrarmi nella creazione di un cms forum personale e mi sono sorte alcune domande del tipo "how-to", che ho una dopo l'altra risolto tranne questa:
Come faccio a gestire i topic letti o non letti per ogni utente?
Mi spiego, se io ho ,mettiamo, 10 utenti, e 1 topic: come faccio a mostrare ad ongi utente un'icona diversa a seconda se quest'ultimo ha letto o non letto l'ultima risposta?
phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.
Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.
Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.
Grazie ancora,
Carlo - Amministratore di phpBB Italia
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.
Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.
Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.
Grazie ancora,
Carlo - Amministratore di phpBB Italia
Non letto/ letto
- Carlo
- Amministratore
- Messaggi: 9957
- Iscritto il: 19/04/2009, 10:24
- Sesso: Maschio
- Versione: 3.2.0
- Server: UNIX/Linux
- PHP: 7.1.0
- Database: MySQL(i) 10.0.27-MariaDB-cll-lve
- Località: Puglia
- Contatta:
Re: Non letto/ letto
Ciao, buona idea la tua. Una cosa del genere la stò sviluppando io, che sarà raggiungibile al seguente indirizzo: www.bokehcms.tk
Ritornando alla tua richiesta, invece, dai un occhiata al sistema adottato da phpBB. Se non sbaglio c'è una tabella chiamata phpbb_topic_watch dove viene creato ogni volta che un utente vede un topic un nuovo record con due colonne "topic_id" e "user_id", e quindi da qui capisce che l'utente ha visto il topic in questione.
Ritornando alla tua richiesta, invece, dai un occhiata al sistema adottato da phpBB. Se non sbaglio c'è una tabella chiamata phpbb_topic_watch dove viene creato ogni volta che un utente vede un topic un nuovo record con due colonne "topic_id" e "user_id", e quindi da qui capisce che l'utente ha visto il topic in questione.
Re: Non letto/ letto
Grazie mille per il link, aspetto con ansia l'uscita del tuo cms
Anche perchè mi serve ispirazione.
Una volta completato il mio (che a differenza del tuo non sarà open source, almeno non per il momento) lo hosterò e te lo farò vedere se vuoi.
Comunque grazie per la risposta, anche se temevo proprio che la soluzione fosse una cosa del genere.
Se non sbaglio però quella tabella occuperà un sacco di spazio...
Anche perchè mi serve ispirazione.
Una volta completato il mio (che a differenza del tuo non sarà open source, almeno non per il momento) lo hosterò e te lo farò vedere se vuoi.
Comunque grazie per la risposta, anche se temevo proprio che la soluzione fosse una cosa del genere.
Se non sbaglio però quella tabella occuperà un sacco di spazio...
- Carlo
- Amministratore
- Messaggi: 9957
- Iscritto il: 19/04/2009, 10:24
- Sesso: Maschio
- Versione: 3.2.0
- Server: UNIX/Linux
- PHP: 7.1.0
- Database: MySQL(i) 10.0.27-MariaDB-cll-lve
- Località: Puglia
- Contatta:
Re: Non letto/ letto
Beh, puoi fare qualche proporzioni tra topic/utenti vendendo anche il peso di tale tabella sul tuo forum.
Sul mio forum non supera i 300 KB se non sbaglio.
Sul mio forum non supera i 300 KB se non sbaglio.
Re: Non letto/ letto
Non ho mai approfondito questo argomento, ma non dovrebbe essere proprio tanto leggero fare una " select * " in quella tabella, considerando che ogni visita viene registrata.
Immaginati un forum di 2 anni con 1.000 utenti e abbastanza attivo ... provi ad estrarre e BOOM.
Comunque grazie, farò così.
Immaginati un forum di 2 anni con 1.000 utenti e abbastanza attivo ... provi ad estrarre e BOOM.
Comunque grazie, farò così.
- Carlo
- Amministratore
- Messaggi: 9957
- Iscritto il: 19/04/2009, 10:24
- Sesso: Maschio
- Versione: 3.2.0
- Server: UNIX/Linux
- PHP: 7.1.0
- Database: MySQL(i) 10.0.27-MariaDB-cll-lve
- Località: Puglia
- Contatta:
Re: Non letto/ letto
phpBB.com come fa?!? Il sistema utilizzato sarà veloce è leggero. Ma poi non estrae tutti i records, ma solo quegli relativi ad un utente o ad un preciso topic.
Re: Non letto/ letto
Ma pensavo che potrebbe essere un idea dare un ottimizzata al tutto, magari sovrascivendo dei dati simili.carlino1994 ha scritto:phpBB.com come fa?!? Il sistema utilizzato sarà veloce è leggero. Ma poi non estrae tutti i records, ma solo quegli relativi ad un utente o ad un preciso topic.
Mettiamo per esempio che c'è un topic A, B e C e tre utenti Paperino, pluto e pippo.
I dati potrebbero essere salvati così:
ID Utente | Topic
1 Paperino | A
2 Pluto | A
3 Pippo | B
4 Pluto | B
5 Pippo | B
6 Pluto | B
7 Paperino | B
8 Pluto | C
Al momento della scrittura della riga 6, la numero 4 non serve più a nulla e quindi potrebbe essere eliminata.
Per esempio nel momento in cui Pluto guarda di nuovo il topic B:
- Estraiamo i dati dalla tabella
- Controlliamo se nella colonna Utente e nella colonna Topic vi sono contemporanemente Pluto e B e se ci sono elimiamo quella riga
- Inseriamo la nuova riga
- Carlo
- Amministratore
- Messaggi: 9957
- Iscritto il: 19/04/2009, 10:24
- Sesso: Maschio
- Versione: 3.2.0
- Server: UNIX/Linux
- PHP: 7.1.0
- Database: MySQL(i) 10.0.27-MariaDB-cll-lve
- Località: Puglia
- Contatta:
Re: Non letto/ letto
Di sicuro il codice di phpBB è ottimizzato e pulito. Ripeto, guarda il codice di phpBB.
Chi c’è in linea
Visitano il forum: Nessuno e 13 ospiti