Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727

    MYSQL: funzione per CONTARE i dati presenti nei record

    Nel mio db (che raccoglie i dati di un questionario) ho il campo p1a che contiene SOLO numeri ad una unità;
    avevo scritto questa funzione che mi permetteva di SOMMARE tutti i numeri presenti in quel campo-->

    <?php
    $row=mysql_fetch_assoc(mysql_query("SELECT SUM(p1a) AS totale_colonna_p1a FROM tabella WHERE anno like '2008'"));
    echo $row[totale_colonna_p1a];
    ?>

    ma mi sono sbagliato e invece di sommare ho bisogno di una funzione che mi CONTI, nel campo p1a, QUANTE volte c'è il numero 1, quante volte c'è il numero 2, quante volte c'è il numero 3.
    Il massimo sarebbe che alla fine mi dicesse con che PERCENTUALE sono presenti quei numeri.
    ARGH non so come farla........... mi aiutate x piacere?

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prova ad aggiungere un COUNT al posto del SUM e un GROUP BY p1a alla query...

    dovresti ottenere un record che ti riporta il conteggio dei dati...

    se funziona, la percentuale la calcoli sull'output... cioè prendi il conteggio del valore e fai il rapporto sul numero di record totali...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    ok fatto...

    <?php
    $row=mysql_query("SELECT p1a, COUNT FROM tabella GROUP by p1a");
    echo $row[p1a];
    ?>

    non mi restituisce errore ma non visualizza nulla
    cosa sbaglio nell'echo?

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Diciamo che non può restituirti niente scritta così...

    prova con questo
    Codice PHP:
    <?php
    $query
    ="SELECT COUNT(p1a) AS totale_colonna_p1a FROM tabella WHERE anno like '2008' GROUP BY p1a";
    $esegui mysql_query($query) or die (.mysql_error());

    while (
    $row mysql_fetch_row($esegui)){

    echo 
    '$row[totale_colonna_p1a]."
    "'

    }
    ?>
    sono andato a spanne... spero di non aver commesso errori...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    grazie innanzi tutto x l'aiuto
    c'erano alcuni piccoli errori di punteggiatura che ho corretto così

    <?php
    $query="SELECT COUNT(p1a) AS totale_colonna_p1a FROM tabella GROUP BY p1a";
    $esegui = mysql_query($query) or die (mysql_error());

    while ($row = mysql_fetch_row($esegui)){

    echo $row[totale_colonna_p1a]."
    ";
    }
    ?>

    adesso non compaiono errori di php ma nel browser non appare nulla ancora....

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    36
    ......non vorrei sbagliare ma penso che il campo alias rinominato tramite AS vada tra due apici tipo così :

    <?php
    $query="SELECT COUNT(p1a) AS ' totale_colonna_p1a ' FROM tabella GROUP BY p1a";
    $esegui = mysql_query($query) or die (mysql_error());

    while ($row = mysql_fetch_row($esegui)){

    echo $row[totale_colonna_p1a]."
    ";
    }
    ?>

    .....inoltre non vorrei dire una castroneria ma la funzione "mysql_fetch_row ()" dovrebbe restituire se vera un array enumerato ( es: $row[0], $row[1], $row[2]...ecc...ecc. ) e non associato (es: $row[totale_colonna], $row[totale-gelati]........ecc..ecc...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    e non sbagliiiiiiiiii
    funzionaaaaaaaaaa
    mitico, grazie

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ... ho scritto mysql_fetch_row??? VVoVe:

    mi sa che ieri sera ero parecchio stordito... scusa per l'errore...

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