Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030

    aiuto con una sequenza di valori..

    dunque

    da un form passo un elenco di mesi ad una pagina chiamata save.php semplicemente così:
    codice:
    <select name=mese>
    <option value=1>Gennaio
    <option value=2>Febbraio
    <option value=3>Marzo
    <option value=4>Aprile
    <option value=5>Maggio
    <option value=6>Giugno
    <option value=7>Luglio
    <option value=8>Agosto
    <option value=9>Settembre
    <option value=10>Ottobre
    <option value=11>Novembre
    <option value=12>Dicembre
    </select>
    che recupera questo valore con $mese =$_POST['mese'];

    quello che vorrei è che se $mese=1 allora $mese_testo=gennaio, se $mese=2 allora $mese_testo=febbraio e così via senza dover scrivere a mano tutte le possibilità..

    come posso fare?

    grazie
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  2. #2
    In questo modo ti stampa il nome del mese però è in inglese...

    echo date(F,"$_POST[mese]");

  3. #3
    Se hai bisogno di sapere sia il numero del mese selezionato, sia il nome letterale in una particolare lingua, puoi fare qualcosa del genere:

    codice:
    <select name=mese>
    <option value="1.Gennaio">Gennaio
    <option value="2.Febbraio">Febbraio
    <option value="3.Marzo">Marzo
    ...
    <option value="12.Dicembre">Dicembre
    </select>
    Poi quando leggi il valore del campo fai un bell'explode ed il gioco è fatto:

    Codice PHP:
    $mese $_POST['mese'];
    $mese_array explode('.'$mese);

    $mese_numero $mese_array[0];
    $mese_testo $mese_array[1];

    unset(
    $mese_array); 
    In pratica "explode" costruisce un array sezionando una strigna (in questo caso, il valore del campo SELECT) secondo un carattere separatore (ho usato il punto nell'esempio).

  4. #4
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    [supersaibal]Originariamente inviato da OhMyGod
    In pratica "explode" costruisce un array sezionando una strigna (in questo caso, il valore del campo SELECT) secondo un carattere separatore (ho usato il punto nell'esempio). [/supersaibal]
    cavolo questa mi sembra un'ottima soluzione..
    dovrò fare un po' di prove ma mi sembra che possa andare bene..
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  5. #5
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    [supersaibal]Originariamente inviato da Markus_2889
    In questo modo ti stampa il nome del mese però è in inglese...

    echo date(F,"$_POST[mese]"); [/supersaibal]
    questo era bello comodo ma il mese mi serve in italiano
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova cosi:

    setlocale (LC_TIME, "it_IT");
    print (strftime ("%B.\n"));

    http://it2.php.net/manual/it/function.strftime.php

    ciao

  7. #7
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    [supersaibal]Originariamente inviato da ken84
    prova cosi:

    setlocale (LC_TIME, "it_IT");
    print (strftime ("%B.\n"));

    http://it2.php.net/manual/it/function.strftime.php

    ciao [/supersaibal]
    emh.. non mi è molto chiaro cosa fa questo codice ma adesso mi guardo il link che mi hai indicato

    grazie

    intanto ho fatto la prova col metodo di OhMyGod e funziona alla grandissima!
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    il codice che ti ho postato restituisce in italiano il mese corrente.
    CMQ puoi anke passare una data che imposti tu (è tutto nel link che ti ho mandato).Per fare quello che serve a te,potresti fare una cosa del genere.

    $data = mktime(0,0,0,$_POST['mese'],0,0);
    setlocale (LC_TIME, "IT");
    $meseItaliano = strftime ("%B",$data);

    Spero di esserti stato d'aiuto...
    ciao

  9. #9
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    [supersaibal]Originariamente inviato da ken84
    il codice che ti ho postato restituisce in italiano il mese corrente.
    CMQ puoi anke passare una data che imposti tu (è tutto nel link che ti ho mandato).Per fare quello che serve a te,potresti fare una cosa del genere.

    $data = mktime(0,0,0,$_POST['mese'],0,0);
    setlocale (LC_TIME, "IT");
    $meseItaliano = strftime ("%B",$data);

    Spero di esserti stato d'aiuto...
    ciao [/supersaibal]
    utilissimo, sia col link che adesso mi guardo che con l'esempio e la spiegazione

    essendo proprio all'inizio alcune cose non mi sono molto chiare, e cerco di raccogliere il più possibile


    grazie ancora a te e gli altri due che mi hanno aiutato..
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141

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 © 2024 vBulletin Solutions, Inc. All rights reserved.