Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    [MySql] Iniziali di un nome

    Buondì.

    Sapete se è possibile (senza ricorrere a php) ricavare da un campo solo le iniziali?

    es.
    codice:
    nome                   ciò_che_voglio
    Antonio                          A.
    Francesco Giovanni             F.G.
    Grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di ade_v
    Registrato dal
    Jan 2001
    Messaggi
    459
    SELECT SUBSTRING(nome,1,1) AS nome

    Questo vale se il nome è singolo. Nel caso di doppio nome non saprei
    ade_v@yahoo.it

    Fletto i muscoli e sono nel vuoto

    Se inviate messaggi privati, avvisatemi sul forum...

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da ade_v
    Nel caso di doppio nome non saprei
    E' proprio quello il mio problema. Nomi doppi, tripli, ecc.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Nel caso non si possa risolvere con l'sql mi potete dire se esistono soluzioni migliori a questa che ho scritto? Mi sembra un pò contorta.

    Codice PHP:
    $nome 'Antonio Giuseppe mario';
    preg_match_all("#\\w+#",$nome,$ris);
    $str implode('.',array_map(create_function('$arr','return strtoupper($arr[0]);'),$ris[0])).'.';
    echo 
    $str

  5. #5
    Originariamente inviato da nicola75ss
    Nel caso non si possa risolvere con l'sql mi potete dire se esistono soluzioni migliori a questa che ho scritto? Mi sembra un pò contorta.
    tanto per gioco...

    Codice PHP:
    $nome 'Antonio Giuseppe mario';

    $result '';

    $nome1 explode(' 'ucwords($nome));

    foreach( 
    $nome1 as $value)  
    {
       
    $result .= $value{0} . ".";
     }

    echo 
    $result
    fa parte di una cosa gia' detta. Gestire stringhe a quel modo non e' compito di un database.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    mmm con mysql non saprei. Con preg_replace prova questa:
    codice:
    preg_replace('/\b(\w)\w*\W*/e','strtoupper("$1")."."',$nome);
    p.s. in generale non userei create_function che è pesante e definirei una funzione esternamente
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da piero.mac
    tanto per gioco...

    Codice PHP:
    $nome 'Antonio Giuseppe mario';

    $result '';

    $nome1 explode(' 'ucwords($nome));

    foreach( 
    $nome1 as $value)  
    {
       
    $result .= $value{0} . ".";
     }

    echo 
    $result
    fa parte di una cosa gia' detta. Gestire stringhe a quel modo non e' compito di un database.






    Ehm, grazie Piero. Son talmente ossessionato dalle espressioni regolari che le uso anche quando non servono.
    Grazie ancora.

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Anªkin
    mmm con mysql non saprei. Con preg_replace prova questa:
    codice:
    preg_replace('/\b(\w)\w*\W*/e','strtoupper("$1")."."',$nome);
    p.s. in generale non userei create_function che è pesante e definirei una funzione esternamente
    Grazie mille anche a te anakin. Sei un fenomeno.

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.