Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di JRizz
    Registrato dal
    Apr 2001
    Messaggi
    125

    [MY SQL] data in italiano

    Con questa query

    $result = mysql_query("SELECT *,DATE_FORMAT(data_cnt,'%a.%b.%y ')as new_data FROM contenuti");

    mi prendo la data nel formato gg/mm/yy da un campo DATE

    ma mi restituisceil tutto in lingua inglese

    $row->new_data è uguale a -Mon.jul.05-
    non c'è un modo come per PHP (es:setlocale ) per impostare il risultato in lingua italiana. Oppure devo passare il risultato per una funzione PHP che mi traduca il tutto? e come?

  2. #2
    guarda qui:
    http://dev.mysql.com/doc/mysql/en/da...functions.html

    nel tuo caso:
    Codice PHP:
    $result mysql_query("SELECT *,DATE_FORMAT(data_cnt,'%d/%c/%y')as new_data FROM contenuti"); 

  3. #3
    Utente di HTML.it L'avatar di JRizz
    Registrato dal
    Apr 2001
    Messaggi
    125
    Forse mi sono espresso male io voglio proprio

    $result = mysql_query("SELECT *,DATE_FORMAT(data_cnt,'%a.%b.%y ')as new_data FROM contenuti");

    ma invece di avere come risultato es: Saturday 3.March.05

    avere Sabato 3.marzo.05

  4. #4
    devi passare da php, dopo esserti creato gli array contenenti i valori in italiano...

  5. #5
    [supersaibal]Originariamente inviato da JRizz
    Forse mi sono espresso male io voglio proprio

    $result = mysql_query("SELECT *,DATE_FORMAT(data_cnt,'%a.%b.%y ')as new_data FROM contenuti");

    ma invece di avere come risultato es: Saturday 3.March.05

    avere Sabato 3.marzo.05 [/supersaibal]
    Non credo sia possibile avere direttamente da mysql i nomi italianizzati. O quanto meno non ne conosco il modo.
    Puoi costruirti due array e poi estrarre il valore dell'indice da mysql e stampare la stringa che ti e' piu' congeniale.
    codice:
    $giorni = array(0=>'Domenica', 1=>'Lunedì', 2=>'Martedì', 3=>'Mercoledì',
              4=>'Giovedì', 5=>'Venerdì', 6=>'Sabato');
    
    $mesi = array(1=>'Gennaio', 2=>'Febbraio', 3=>'Marzo', 4=>'Aprile', 5=>'Maggio', 6=>'Giugno',
            7=>'Luglio', 8=>'Agosto', 9=>'Settembre', 10=>'Ottobre', 11=>'Novembre', 12=>'Dicembre');
    
    Poi ti fai la query estraendo i valori che interessano.
    
    $query = "SELECT *, date_format(data_cnt,'%w-%e-%c-%y' ) as new_data
              FROM tabella ";
    
    $res = mysql_query($query) or die (mysql_error());
    
    E poi stampi le tue righe 
    
    while( $row = mysql_fetch_assoc($res))  {
    
    list ( $giorno, $num, $mese, $anno) = explode ("-", $row['new_data']);
    echo "$giorni[$giorno] $num.$mesi[$mese].$anno 
    ";
    }
    Funzionare funziona perche' lo ho estratto da uno script felicemente running.



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

  6. #6
    Utente di HTML.it L'avatar di JRizz
    Registrato dal
    Apr 2001
    Messaggi
    125
    io ho fatto così dopo aver settato
    setlocale(LC_TIME, "it_IT.ISO_8859-1");
    ho creato questa funzione.

    function data_italiano($giorno)
    {
    $dat=explode("-", $giorno);
    $year=$dat[0];
    $mese=$dat[1];
    $day=$dat[2];
    $first= mktime(0,0,0,$mese,$day,$year);
    $data=strftime ("%A %d %B", date($first));
    return "$data";
    }
    e nella pagina dove mi serve la richiamo così

    '.data_italiano($a_row->data_cnt).'

    e mi stampa una data in italiano così:

    domenica 6 marzo 2005


    è troppo macchinoso?
    grazie

  7. #7
    Se la data la prendi da mysql e' certamente piu' macchinoso. Inoltre non sempre il set locale da' il risultato aspettato. Dipende da OS, e dal suo settaggio.

    Il modo che ti ho suggerito vola al di sopra di tutti i settaggi e funziona sempre. Ed e' piu' semplice. Meno righe da scrivere e meno righe da interpretare dal parser php.


    Tu comunque fai come credi. personalmente invece di cosi' ho fatto cosa' e lo porto su win, linux e mac, con il server negli US, in India... ed anche in Italia.



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

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.