Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    41

    Query che visualizza numero di messaggi di ogni utente

    Ho una tabella MESSAGGI con all'interno il campo ID, TESTO, AUTORE devo trovare quanti messaggi ha inserito ogni autore qualcuno può aiutarmi?

    grazie

  2. #2
    molto semplice, devi usare COUNT()...GROUP BY...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    41
    per il singolo ok

    "SELECT count(*) FROM messaggi WHERE autore = 'abc'";


    per tutti dovrebbe essere così:

    "SELECT count(*) FROM messaggi GROUP BY autore



    il problema è che nella select devo selezionare anche altri campi


    "SELECT id_messaggio, testo, data_creazione, autore FROM messaggi WHERE id_categoria = '".$_GET["id_categoria"]."' ORDER BY data_creazione ASC";

  4. #4
    semplicemente non ha senso, non puoi avere nello stesso risultato dettagli e totali. prova a fare un esempio di cosa vorresti

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    41
    Quote Originariamente inviata da optime Visualizza il messaggio
    semplicemente non ha senso, non puoi avere nello stesso risultato dettagli e totali. prova a fare un esempio di cosa vorresti

    mi servono solo totali ho provato ad aggiungere alla query group by e count ma non funziona


    "SELECT id_messaggio, testo, data_creazione, autore, count(autore) as totale FROM messaggi WHERE id_categoria = '".$_GET["id_categoria"]."' GROUP BY autore ORDER BY data_creazione ASC";



    Ultima modifica di colomber; 09-08-2017 a 17:03

  6. #6
    nella tua query non ci sono SOLO totali, ci sono ANCHE i dettagli. per questo ti dà errore.

    una cosa che io personalmente trovo molto fastidiosa: non dire "non funziona", ma specifica esattamente l'errore che ricevi.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    41
    Quote Originariamente inviata da optime Visualizza il messaggio
    nella tua query non ci sono SOLO totali, ci sono ANCHE i dettagli. per questo ti dà errore.

    una cosa che io personalmente trovo molto fastidiosa: non dire "non funziona", ma specifica esattamente l'errore che ricevi.

    è la query che scritta così non da risultati


    mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in
    Ultima modifica di colomber; 09-08-2017 a 17:48

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    PHP ti avvisa che stai passando un booleano al posto di una risorsa (che poi sarebbe il risultato della query) e questo indica che la query restituisce un errore
    la cosa migliore che puoi fare è correggere la query (se vuoi i messaggi di ogni utente devi evitare di includere nei campi restituiti i valori non comuni tra tutti i messaggi di quell'utente - ad esempio, data_creazione e id_messaggio non ci vanno), eseguirla direttamente su un client MySQL e vedere se il risultato è quello che ti aspetti
    poi la inserisci nel codice e testi se funziona correttamente tutto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.