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

    Date in formato giorno, mese, anno

    Un saluto a tutti.

    Ho preparato una pagina che pesca dal database, ordinandole per data, delle notizie (quindi del teso) e la relativa data (che è in formato aaaa/mm/gg).

    Io vorrei che la data venga trasformata nel formato italiano e quindi gg/mm/aaaa, l'ho fatto usando questa istruzione
    Codice PHP:
    DATE_FORMAT(data'%d.%m.%Y'
    però purtroppo dopo averlo fatto non funziona più l'ordinamento cronologico... Io ho inserito l'istruzone sul formato della data nella query php che và a prendere i dati... non saprei dove inserirla per risolvere il problema ed eccomi qui a chiedervi aiuto .

    Inoltre sapreste dirmi anche come, una volta assegnatogli il formato italiano, inserire anche il giorno testuale ed il mese (ad esempio lunedì 05 Marzo 2006 ecc...)

    Spero mi possiate aiutare.

    Grazie mille, un saluto,
    Luca

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Così funziona

    SELECT DATE_FORMAT(data, '%d/%m/%Y') AS dataF
    FROM tabella
    ORDER By data

    Ciao

    P.S. la magia sta in "AS dataF" dai un alias al nuovo elemento (che poi troverai come dataF) e l'ordinamento verrà effettuato su "data" che invece rimane invariato... mysql ragiona nel formato yyyy-mm-dd
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  3. #3
    Grazie mille!!!

    Per caso sai anche come posso fare per i giorni scritti letteralmente (lunedì, martedì....) e i mesi?

    Ciao e grazie ancora,
    Luca

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Si si può fare ma solo con i prefissi e i mesi in inglese

    come fare lo trovi qui

    Ti conviene crearti un array se vuoi farlo in italiano e mettere come indici nomi o i numeri dei mesi e come valore la relativa traduzione.

    Nella select tiri fuori solo gli elementi singoli ovvero 'giorno', 'mese' ed 'anno' sparati e non formattati.
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Leandro
    Si si può fare ma solo con i prefissi e i mesi in inglese
    Si può fare anche in italiano direttamente da mysql
    codice:
    select campo_data,concat_ws(' ',elt(dayofweek(campo_data),'Domenica','Lunedì','Martedì','Mercoledì',
    'Giovedì','Venerdì','Sabato'),right(campo_data,2),elt(month(campo_data),
    'Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio',
    'Agosto','Settembre','Ottobre','Novembre','Dicembre'),year(campo_data) ) as data_it
    from tabella
    Se invece vuoi farlo tramite php fatti una ricerca sul forum. Ci sono tante discussioni in merito.

  6. #6
    Era proprio quello degli array il lavoro che volevo fare....

    Per stampare ad esempio la data odierna l'ho fatto, senza problemi. Ma in questo caso non saprei poi come andare a stamparlo.

    Cioè nella data mi trovavo i tre valori e ne stampavo uno alla volta e ai giorni e ai mesi gli ho assegnato una variabile con un array e poi ad esempio con l'istruzione
    Codice PHP:
    echo $giorni[date("w")]; 
    poi con i mesi facevo la stessa cosa.

    Il problema è che qui stampo direttamente data (anzi dataF) e quindi non sò come assegnargli gli array...

    Scusate la mia ignoranza ma stò muovendo i primi passi...

    P.S. e fra l'altro non saprei nemmeno come fargli capire quale giorno è lunedì, quale martedì ecc... cioè come posso dirgli che il 23 Novembre 2006 è un giovedì? Come faccio a farglielo prendere dalla data? Uffa...

    Luca

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Non ho capito molto di quello che hai scritto però quello che dico io è questo:

    La select che fai è questa:

    SELECT MONTH(data) AS mese, DAYOFWEEK(data) AS giorno_settimana, DAY(data) AS giorno, YEAR(dat) AS anno
    FROM tabella
    ORDER BY data
    Codice PHP:

    ## Una volta eseguita la query fai
    $res mysql_result($result);

    $months = array('Gennaio''Febbraio''Marzo','Aprile''Maggio''Giugno''Luglio''Agosto''Settembre''Ottobre''Novembre''Dicembre');

    $days = array('Domenica''Lunedì''Martedì''Mercoledì''Giovedì''Venerdì''Sabato');

    $data $days[$res['giorno_settimana']].' '.$res['giorno'].' '.$months[$res['mese']-1].' '.$res['anno'];

    echo 
    $data
    Mi sembra che vada
    Non l'ho provato
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

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.