Visualizzazione dei risultati da 1 a 7 su 7

Discussione: DISTINCT in un array

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    322

    DISTINCT in un array

    Dovrei suddividere gli articoli in ordine alfabetico.

    Eseguo una query che recupera il primo carattere dei titoli, esempio:

    Alba di oggi
    Alba di ieri
    Alba di domani
    Bella giornata

    quindi A, A, A, B

    Il carattere A è ripetuto tre volte in quanto i titoli che iniziano con A sono tre.

    Dovrei mostrare a video solo una volta ciascun carattere, c'è qualche funzione apposita per array?

  2. #2
    ma non puoi farti ritornare la prima lettere, in distinct, direttamente dal database? o ti serve il titolo completo?

    altrimenti usando gli array dovresti prima applicare un array_map con una function di callback per farti ritornare solo il primo carattere della stringa e poi usare array_unique per togliere i duplicati
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Oppure, banalmente, scrivi un ciclo con una variabile di controllo sull'ultma lettera stampata: se uguale skippa, se diversa stampa.

    Funzioni apposite per questa cosa non ce ne sono.

  4. #4
    Se fai una cosa del genere:

    codice:
    SELECT DISTINCT LEFT(nome_colonna, 1) AS carattere FROM tabella ORDER BY carattere ASC
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    322
    Come fai una query distinct solo sul primo carattere?

    Ho provato (a spanne) con select distinct ucfirst(titolo_articolo)...

    ma non funziona.

  6. #6
    Originariamente inviato da yhtr
    Come fai una query distinct solo sul primo carattere?

    Ho provato (a spanne) con select distinct ucfirst(titolo_articolo)...

    ma non funziona.
    Scusa ma non capisco! Ti ho postato la query corretta sopra. L'ho provata e funziona perfettamente.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    322
    Scusami tu ma non avevo visto la tua risposta... era scaduta la sessione sicuramente mi è sfuggita.. grazie, funziona.

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.