Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [php-mysql] quanti valori diversi ci sono?

    Premetto che sono un neofita autodidatta del php e un ignorante di db. Cmq di programmazione ci capisco abbastanza e sto studiando entrambi gli argomenti.

    Posto qui perchè non sono riuscito a trovare le parole giuste per una ricerca mirata, sia qui che sui motori di ricerca per trovare una soluzione al mio problema.

    Ho un db mysql al quale accedo con pagine php. Avrei bisogno di uno script, php appunto, che mi restituisca QUANTI valori (in questo caso stringhe) diversi appaiono in una determinata colonna.

    ES:
    colonna NOMI {pippo, pippo, topolino, minnie, pluto, topolino, minnie, pippo}

    Ci sono 3 pippo, 2 topolino, 2 minni e 1 pluto. il mio script dovrebbe restituirmi 4, poichè vi sono 4 valori diversi che si ripetono (o anche no) nella colonna.

    Grazie in anticipo.
    Ale
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  2. #2
    Basta che usi "distinct" ed il gioco è fatto:

    codice:
    $query = "SELECT DISTINCT field FROM table";
    $result = mysql_query($query);
    $numRows = mysql_num_rows($result);
    La variabile $numRows conterrà il numero di valori unici contenuti nel db.

  3. #3
    Se poi vuoi sapere anche per ogni valore quante volte compare nel db allora basta che aggiungi allo script di prima:

    Codice PHP:
    while ($row mysql_fetch_array($result))
         {
            
    $queryCount "SELECT field FROM table WHERE field = '$row['field']";
            
    $resultCount mysql_query($queryCount);
            
    $numField mysql_num_rows($result);
            echo 
    'Il valore ' $row['field'] . ' è presente ' $numField ' volte
    '
    ;
         } 
    Spero di esserti stato utile! Ciao!

  4. #4
    utilissimo!

    Grazie grazie grazie!
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  5. #5
    [supersaibal]Originariamente inviato da mircov
    Se poi vuoi sapere anche per ogni valore quante volte compare nel db allora basta che aggiungi allo script di prima:

    Codice PHP:
    while ($row mysql_fetch_array($result))
         {
            
    $queryCount "SELECT field FROM table WHERE field = '$row['field']";
            
    $resultCount mysql_query($queryCount);
            
    $numField mysql_num_rows($result);
            echo 
    'Il valore ' $row['field'] . ' è presente ' $numField ' volte
    '
    ;
         } 
    Spero di esserti stato utile! Ciao! [/supersaibal]
    la parte che hai scritto nel primo post la aggiungo dentro o fuori dal while?
    E visto che sei stato così gentile, cosa modifico nel tuo script per avere il valore PIÙ rappresentato?

    Muchas Gracias!!
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  6. #6
    Codice PHP:
    $query "SELECT DISTINCT field FROM table";
    $result mysql_query($query);
    $numRows mysql_num_rows($result);

    while (
    $row mysql_fetch_array($result))
         {
            
    $queryCount "SELECT field FROM table WHERE field = '$row['field']";
            
    $resultCount mysql_query($queryCount);
            
    $numField mysql_num_rows($result);
            echo 
    'Il valore ' $row['field'] . ' è presente ' $numField ' volte
    '
    ;
         } 
    Per il valore più rappresentato la query dovrebbe essere questa:

    $query = "SELECT field, count(*) FROM table GROUP BY field ORDER BY field ASC LIMIT 0,1";

    Non so se è corretta: ho alcuni dubbi. Nel caso non funzioni dimmelo che vediamo di aggiustarla.

    Ciao!

  7. #7
    Mi dà questo errore:
    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /usr/local/psa/home/vhosts/lavoricreativi.com/httpdocs/statistiche.php on line 91


    con questo codice
    Codice PHP:
    $query "SELECT agenzia, count(*) FROM schede_agenzie GROUP BY agenzia ORDER BY agenzia ASC LIMIT 0,1";
    $result mysql_query($query);
    $numRows mysql_num_rows($result);

    while (
    $row mysql_fetch_array($result)) {
       
    $queryCount "SELECT agenzia FROM schede_agenzie WHERE agenzia = '$row['agenzia']";
       
    $resultCount mysql_query($queryCount);
       
    $numField mysql_num_rows($result);
       echo 
    'L'agenzia più rappresentata è ' .$row['agenzia']. ' che è presente ' . $numField . ' volte
    ';

    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  8. #8
    E la riga 91 qual è?

  9. #9
    $queryCount = "SELECT agenzia FROM schede_agenzie WHERE agenzia = '$row['agenzia']";
    Moderatore di me stesso
    LAVORICREATIVI.COM - ANNUNCI PER CREATIVI e AGENZIE
    SNOWTURA.COM - UNDER CONSTRUCTION

  10. #10
    $queryCount = "SELECT agenzia FROM schede_agenzie WHERE agenzia = '$row[agenzia]'";

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.