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

    data formato "Dicembre 2004" da Mysql

    dovrei stampare le date in questo formato "Dicembre 2004" prendendo i campi data da una tabelladi notizie nel db ma non ho idea di come impostare questo formato,
    ho provato a creare un array contenete i mesi dell'anno:
    codice:
    $array_mesi = array( "","Gennaio","Febbraio","Marzo",
    "Aprile","Maggio","Giugno","Luglio","Agosto","Settembre",
    "Ottobre","Novembre","Dicembre");
    e con explode sono riuscito a prendere il valore del mese e dell'anno che per una data come "dicembre 2004" sono appunto "12" e "2004" cosi per stampare i mesi dovrei fare
    $array_mesi[$variabile_mese], questo funziona però solo per i mesi maggiori di 10 ovvero da ottobre a dicembre in quanto i mesi precedenti mi restituiscono il loro valore del mese con lo 0 davanti, esempio per agosto ottento il valore del mese "08", che se passato dell'array ovviamente restituisce errore in quanto con riconosce l'indice 08,
    come posso risolvere? c'è un modo più snello?
    grazie
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  2. #2
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    Per ottenere il mese senza lo zero iniziale...

    Se lo ottieni da MySql DATE(%c)

    Se invece lo ricavi da Php date('n');

    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  3. #3
    non ho ben capito, scusa
    io estraggo i dati da mysql per crearmi un menu contenente solo i mesi che hanno delle notizie, con questo script

    codice:
    $flag2="";
    $archive_all = mysql_query("SELECT data_news FROM news
     ORDER BY data_news ASC", $db_comm) or die(mysql_error()); 
     while($row_archive=mysql_fetch_array($archive_all))
    
    {
    $data2 = explode("-",$row_archive['data_news']); 
    $Newdata2 = $data2[1]."-".$data2[0]; 
      if($Newdata2!=$flag2)
      {
    $valore_mese = $data2[1];
    echo"<a href=\"show.php&type=news&month=$data2[1]\">
    $mesi[$valore_mese]-$data2[0]</a> \n"; }
      }
    come potrei riadattare quello che tu mi hai appena detto?
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  4. #4
    usl
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  5. #5
    Nel SELECT aggiungi l'estrazione del mese che poi userai come indice per l'array_mesi.

    SELECT data_news, month(data_news) as mese
    FROM news
    ORDER BY data_news ASC

    il valore lo troverai nell'alias "mese".

    Sempre che' il campo sia in formato DATE, o DATETIME o TIMESTAMP (non UNIX TIMESTAMP).


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

  6. #6
    il problema è proprio quello
    se ottengo l'indice del mese esempio gennaio ottengo 01 vero?
    adesso pero se lo passo nell'array mese per estrarre il valore:
    $_array_month[01]
    non è corretto in quanto dovrei inserire 1 e non 01, come posso ovviare?
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  7. #7
    Originariamente inviato da nicaragua90
    il problema è proprio quello
    se ottengo l'indice del mese esempio gennaio ottengo 01 vero?
    adesso pero se lo passo nell'array mese per estrarre il valore:
    $_array_month[01]
    non è corretto in quanto dovrei inserire 1 e non 01, come posso ovviare?
    La funzione MONTH(data) rende da 1 - 12 senza zeri.

    Non estrae 01 - 12 ma ti dice il numero del mese che c'e' in una data.


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

  8. #8
    cosa posso dire?
    funziona, grazie!
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

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.