Visualizzazione risultati 1 fino 5 di 5

Discussione: Raggruppare e numerare le notifiche

  1. #1
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Question Raggruppare e numerare le notifiche

    Ciao ragazzi, vi chiedo un parere.

    Sto realizzando un pannello di notifiche che abbia la funzione di segnalare sia all'amministratore di un sito che agli stessi utenti le azioni che vengono compiute, nel primo caso le azioni in generale e nel secondo le azioni compiute nei confronti dello stesso utente (es: commentano un suo post o gli condividono un qualsiasi elemento).
    Con un rapido studio e qualche ricerca ho trovato il modo di realizzare tutto lo script (devo ancora iniziare a scriverlo ma penso funzionerà ciò che ho in mente).
    Il mio dilemma nasce dal momento che non voglio far recapitare più notifiche per lo stesso evento. Mettiamo il caso che Tizio ha scritto un post e 10 suoi amici lo commentano. Ecco, io non voglio che a Tizio arrivino 10 notifiche, ma una sola che gli dica che ha ricevuto 10 commenti per quel post.

    Semplifico ancora di più l'esempio in questo modo:

    Questa è la tabella delle notifiche
    Id Utente Chi_fa_azione Azione Oggetto_azione
    1 Tizio Caio Commenta post di Tizio
    2 Tizio Sempronio Commenta post di TIzio
    3 Tizio Caio Condivide Bacheca di Tizio
    4 Tizio Genoveffa Commenta post di TIzio

    Ecco da questa tabella dovrei essere in grado di estrapolare il numero di notifiche e di raggruppare quelle con la stessa azione riferite allo stesso oggetto (in questo caso ci sono più commenti nel post di Tizio)

    Codice PHP:
    SELECT * FROM tabella WHERE utente = 'Tizio' GROUP BY Azione, Oggetto_azione
    Premetto che è tutta teoria e non l'ho ancora testato.

    La mia domanda è: se volessi inserire il numero di notifiche della stessa azione sullo stesso oggetto_azione?
    In pratica vorrei ottenere questo:

    Tizio ha le seguenti notifiche:
    • Caio e altri 2 utenti hanno commentato il tuo post
    • Caio ha condiviso un elemento sulla tua bacheca


    Spero di non essere stato troppo confusionario

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Il problema dunque e', fissato un utente, per ciascuna coppia (azione, oggetto_azione) calcolare il numero di notifiche inerenti a quella coppia destinate a quell'utente?
    Hai provato semplicemente con COUNT nella query da te proposta?

    Naturalmente puoi farlo anche in PHP dopo aver recuperato i dati, ma e' decisamente meglio realizzarlo in MySQL.

  3. #3
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito

    Premetto che non ho ancora testato nulla, stavo elaborando mentalmente lo scripting.
    Count l'avevo preso in considerazione, ma non è che mi conteggia tutti gli elementi presenti nella select senza tener peso della coppia di dati di cui tener conto? Tu dove lo metteresti? "Select count(*)" ho proprio paura che mi conti tutti i valori prelevati

  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Codice PHP:
    SELECT COUNT(Id), * FROM tabella WHERE utente = 'Tizio' GROUP BY Azione, Oggetto_azione
    Qui ci sono alcuni esempi significativi: SQL GROUP BY Clause.

  5. #5
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito

    Grazie per il suggerimento, programmo lo script e una tabella di test e provo questa soluzione.

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •