Visualizzazione dei risultati da 1 a 4 su 4

Discussione: raggruppare per array

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471

    raggruppare per array

    salve,

    Ho questi dati estratti da un campo del db:
    records[0] = storia, storia contemporanea, geografia,
    record[1] = geografia, storia moderna,
    records[2] = storia, storia moderna, storia contemporanea,
    ecc.

    vorrei raggupparle per array, in modo da ottenere questo risultato:
    storia(2), geografia(2), storia moderna(1), ecc.

    Come posso fare?

    grazie
    Lilo

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Hai progettato male il tuo database senza normalizzarlo e adesso ti trovi a dover pasticciare.

    Codice PHP:
    $query mysql_query("select materia from tabella");
    $array = array();
    while (
    $row mysql_fetch_assoc($query)) {
      foreach(
    explode(',',$row['materia']) as $materia)
        
    $array[] = trim($materia);
    }
    echo 
    '<pre>';
    print_r($array);
    print_r(array_count_values($array)); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    ti ringrazio tantissimo nicola75ss per la risoluziione.

    Come faccio ad estrarre i dati, raggruppati come sopra, tramite array?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Devi semplicemente ciclare l'array tramite foreach

    http://it.php.net/manual/en/control-...es.foreach.php

    Codice PHP:
    $array array_count_values($array);
    foreach(
    $array as $k => $v)
      echo 
    $k.' - '.$v.'
    '


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.