Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Filtrare dati ripetuti e ridondanti

    Salve, ho da acquisire dei dati da un database MySQL che sto popolando...
    Ho notato che una colonna presenta dei dati ripetuti nonché ridondanti, e vorrei che fossero caricati nella pagina php una sola volta.
    Mi spiego meglio: ho una situazione del genere, esclusivamente in una colonna della tabella:
    Tizio Rossi
    Tizio Rossi
    Caio Bianchi
    Tizio Rossi, Caio Bianchi
    Sempronio Verdi

    Vorrei che, nell'opportuna posizione della pagina php si leggesse: Tizio Rossi, Caio Bianchi, Sempronio Verdi.
    Con SELECT DISTINCT posso sbarazzarmi dei doppioni su singola casella, ma non posso intervenire nella casella che contiene sia Tizio Rossi che Caio Bianchi.
    Non mi è possibile duplicare il record assegnandolo una volta a Tizio Rossi e l'altra a Caio Bianchi (otterrei un doppione su tutte le altre voci del record).
    Cerco cioè un codice che mi dia in uscita tutti i nomi della colonna, distinguendo quelli nella stessa cella che sono già separati da virgola.

  2. #2
    e se avessi

    Tizio Rossi
    Tizio Rossi
    Caio Bianchi
    Maria Bruni, Caio Bianchi
    Sempronio Verdi

    ?

  3. #3
    Ogni nome deve apparire una volta, anche se non presente mai da solo. Sono oltre 3000 righe, non posso controllare manualmente i nomi inseriti, so soltanto che non ci sono omonimi da distinguere.

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    è un bel casino ......
    Mi sa che dovrai controllarli manualmente con qualche app. specifica

    Allora 3000 record
    - immaginiamo che quando elimini i doppioni ti ritrovi 2500 nomi distinti cosa fai ?
    - e se invece ti ritrovi 3500 nomi distinti cosa fai ?
    - poi ci sara una logica nel singolo record ..... dei 2 nomi elimini il primo oppure il secondo ?
    - escludi assolutamente di non trovare "Caio Bianchi" e "Bianchi Caio" ?


    io farei una tabella temporanea con 2 campi
    Nome --- NumeroOccorrenze

    la tabella la popoli con un ciclo che scorre tutti i record e quando incontra il separatore (la virgola) inserisce chiaramente piu record nella temporanea

    un ciclo su 3000 record è quasi isatntaneo

    poi con una vista elimini tutti i record con NumeroOccorrenze = 1

    a quel punto ti rimangono solo i doppioni

    poi con delle funzioni di ricerca vai sulla tabella base a eliminare i doppioni
    e ad ogni record modificato sulla base devi rieseguire il ciclo che RIpopola la tabella temporanea

    .

  5. #5
    No, un momento... Io ho circa 3000 record, vero, ma il controllo va fatto al massimo per una decina di righe per volta, tramite un apposito SELECT.
    A me interesserebbe visualizzare, in cima alla pagina web relativa a un certo gruppo di "righe", l'elenco dei nomi univoci, scorporandoli dall'attribuzione a ciascun record, dato che l'attribuzione puntuale non è richiesta e inoltre sarebbe ridondante quando il nome è uno solo per tutte le voci schedate nella pagina web.

  6. #6
    10 righe le tratti “a mano” lato php se si tratta di semplice visualizzazione...

  7. #7
    I nomi sono in tutto una ventina, anche se crescendo la tabella potrebbero aumentare, ma sempre in quell'ordine di grandezza.
    Stavo pensando di creare una tabella con i soli nomi e verificarne con un ciclo la presenza in ciascun record della decina di voci presenti per ciascuna scheda. Devo solo capire come posso "spezzare" un campo contenente due nomi.

    I nomi sono tutti in formato "nome cognome".

  8. #8

  9. #9
    Ah ottimo!
    Prima devo però risolvere un altro problema di codifica caratteri.

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.