[PHP] elencare e conteggiare dati di una colonna del db

Discussione in 'PHP' iniziata da mcroy, 15 Agosto 2019.

Tag (etichette):
  1. mcroy

    mcroy Nuovo Utente

    Registrato:
    26 Maggio 2018
    Messaggi:
    5
    Mi Piace Ricevuti:
    1
    Punteggio:
    3
    Sesso:
    Maschio
    salve ragazzi.
    vorrei chiedervi un aiutino per estrarre dati dal db per poi elencarli e conteggiarli in una table.

    nel db "user" ho una colonna "userlang" con inserito il linguaggio dell'interfaccia utilizzato dallo user.
    verrei fare una tabella dove riepiloga i linguasggi utlizzati e il numero di utenti che lo utilizza

    tipo:
    HTML:
    <table>
      <tr>
        <td>User language</td>
        <td>Quanti</td>
      </tr>
      <tr>
        <td>it-it</td>
        <td>20</td>
      </tr>
      ecc ecc..
    <table>
    spero di essere stato chiaro.

    grazie in anticipo per le risposte
     
    Ultima modifica di un moderatore: 15 Agosto 2019
  2. AC1

    AC1 Nuovo Utente

    Registrato:
    13 Novembre 2017
    Messaggi:
    25
    Mi Piace Ricevuti:
    2
    Punteggio:
    3
    Sesso:
    Maschio
    Occupazione:
    TLC/INFORMATICO/DEVELOPER/GRAPHIC DESIGNER
    Località:
    Barletta
    Puoi utilizzare il COUNT nella Select oppure il myslq_num_row


    Inviato dal mio iPhone utilizzando Tapatalk
     
  3. Max 1

    Max 1 Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    29 Febbraio 2012
    Messaggi:
    3.802
    Mi Piace Ricevuti:
    283
    Punteggio:
    83
    Sesso:
    Maschio
    @mcroy
    Da regolamento del forum, come tutti noi sei tenuto ad usare il tag [​IMG] o il tag [​IMG] per il PHP, quando posti del codice, oppure la funzione codice dalla barra degli strumenti
    [​IMG]

    Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
    Grazie
    Per questa volta te lo sistemo io ma mi raccomando per il futuro
     
  4. mcroy

    mcroy Nuovo Utente

    Registrato:
    26 Maggio 2018
    Messaggi:
    5
    Mi Piace Ricevuti:
    1
    Punteggio:
    3
    Sesso:
    Maschio
    ciao grazie per la risposta. quando puoi se vuoi, potresti inviarmi il codice completo. scusa ma sono ai primi passi, anzi primissimi
     
    A AC1 piace questo elemento.
  5. mcroy

    mcroy Nuovo Utente

    Registrato:
    26 Maggio 2018
    Messaggi:
    5
    Mi Piace Ricevuti:
    1
    Punteggio:
    3
    Sesso:
    Maschio
    si hai ragione, scusa. nella fretta delle cose da fare ho trascurato il regolamento.
     
  6. Tommy03

    Tommy03 Utente Attivo

    Registrato:
    6 Giugno 2018
    Messaggi:
    55
    Mi Piace Ricevuti:
    5
    Punteggio:
    8
    Sesso:
    Maschio
    PHP:
    $sql=mysqli_query($var_connessione"SELECT COUNT(*) FROM nome_tabella WHERE ..."); //al posto dei puntini metti le condizioni per prelevare i dati
    //oppure
    $sql=mysqli_query($var_connessione"SELECT * FROM nome_tabella WHERE ..."); //al posto dei puntini metti le condizioni per prelevare i dati
    $numero=mysqli_num_rows($sql);
     
    A AC1 piace questo elemento.
  7. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    920
    Mi Piace Ricevuti:
    53
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    Invece di effettuare N query in base al numero di lingue, basterebbe effettuarne una sola con la clausola GROUP BY

    Codice:
    SELECT lingua, COUNT(lingua) FROM TABELLA GROUP BY lingua;
    
     
  8. mcroy

    mcroy Nuovo Utente

    Registrato:
    26 Maggio 2018
    Messaggi:
    5
    Mi Piace Ricevuti:
    1
    Punteggio:
    3
    Sesso:
    Maschio
    ok, ma in php poi come recupero questi dati e li inserisco in una tabella?
     
  9. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    920
    Mi Piace Ricevuti:
    53
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    Come fai sempre è una semplice query, nnt di che!
     
  10. Tommy03

    Tommy03 Utente Attivo

    Registrato:
    6 Giugno 2018
    Messaggi:
    55
    Mi Piace Ricevuti:
    5
    Punteggio:
    8
    Sesso:
    Maschio
    PHP:
    echo "<table>";
    $sql=mysqli_query($var_connessione"SELECT lingua, COUNT(lingua) AS numero FROM tabella GROUP BY lingua");
    while(
    $gets=mysqli_fetch_assoc($sql)){
    $lingua=$gets['lingua'];
    $numero=$gets['numero'];
    echo 
    "<tr><td>$lingua</td><td>$numero</td></tr>";
    }
    echo 
    "</table>";
     
    Ultima modifica: 16 Agosto 2019
  11. mcroy

    mcroy Nuovo Utente

    Registrato:
    26 Maggio 2018
    Messaggi:
    5
    Mi Piace Ricevuti:
    1
    Punteggio:
    3
    Sesso:
    Maschio
    perfetto, grazie infinite! ;)
    io ho scritto così nella pagina
    PHP:
    <?php
    connetti
    ();
    $sql2=mysqli_query($connessione"SELECT userlang, COUNT(userlang) AS count FROM userprofile GROUP BY userlang");
    chiudi_connessione();
    ?>
                <div class="table-responsive">
                    <table class="table table-bordered">
                        <tr>
                            <th scope="col">Language</th>
                            <th scope="col">Count</th>
                        </tr>
    <?php
            
    while($gets=mysqli_fetch_assoc($sql2)){
                
    $lingua=$gets['userlang'];
                
    $numero=$gets['count'];
    ?>
                    <tr>
                        <td><?php echo $lingua;?></td>
                        <td><?php echo $numero;?></td>
                    </tr>
    <?php
        
    }
    ?>
                    </table>
                </div>

    credo vada bene lo stesso.
    ho provato la query nel database e mi da il risultato che serve ma nella pagina non esce il risultato.
    cosa ho sbagliato?
     
    Ultima modifica: 16 Agosto 2019
  12. Tommy03

    Tommy03 Utente Attivo

    Registrato:
    6 Giugno 2018
    Messaggi:
    55
    Mi Piace Ricevuti:
    5
    Punteggio:
    8
    Sesso:
    Maschio
    Non so se cambierà qualcosa, ma prova a sostituire da così:
    PHP:
    <?php
            
    while($gets=mysqli_fetch_assoc($sql2)){
                
    $lingua=$gets['userlang'];
                
    $numero=$gets['count'];
    ?>
                    <tr>
                        <td><?php echo $lingua;?></td>
                        <td><?php echo $numero;?></td>
                    </tr>
    <?php
        
    }
    ?>
    A così:
    PHP:
    <?php
            
    while($gets=mysqli_fetch_assoc($sql2)){
                
    $lingua=$gets['userlang'];
                
    $numero=$gets['count'];
    echo 
    "                <tr>
                        <td>
    $lingua</td>
                        <td>
    $numero</td>
                    </tr>"
    ;
        }
    In alternativa se non dovesse funzionare prova a controllare il codice sorgente della pagina, forse lì troverai l'errore
     
    Ultima modifica: 16 Agosto 2019
  13. AC1

    AC1 Nuovo Utente

    Registrato:
    13 Novembre 2017
    Messaggi:
    25
    Mi Piace Ricevuti:
    2
    Punteggio:
    3
    Sesso:
    Maschio
    Occupazione:
    TLC/INFORMATICO/DEVELOPER/GRAPHIC DESIGNER
    Località:
    Barletta
    Se chiudi la connessione subito dopo la query il risultato nelle variabili non passa


    Inviato dal mio iPhone utilizzando Tapatalk
     
    A Tommy03 piace questo elemento.
Sto caricando...

Condividi questa Pagina