Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222

    convertire formato data da form a db e viceversa

    ciao, ho un form per inserire tra i vari campi anche un campo data. avrei bisogno che sia possibile scriverlo in questo formato: dd/mm/yyyy. Poi dal db dovrei richiamarlo. Mi hanno detto che ho bisogno di 2 conversioni, una che parte dal form e la trasforma in una data fattibile per il db e una che dal db la trasforma come voglio io (che poi è la stessa cosa, solo che il db al momento mi prende solo il formato yyyy/mm/dd). come fare?
    grazie
    Si fanno sempre nuove scoperte

  2. #2
    Utente di HTML.it L'avatar di Ely88M
    Registrato dal
    Oct 2007
    Messaggi
    281
    prova con la funzione date()

    ciao

  3. #3
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Originariamente inviato da Ely88M
    prova con la funzione date()

    ciao
    no ma secondo me ha bisogno di una funzione che, dal formato gg/mm/aaaa usato nel form, glielo converta in aaaa/mm/gg (o no?)

    io uso queste

    Codice PHP:
    //RESTITUISCE UNA DATA FORMATTATA NEL FORMATO aaaammgg, $data è LA DATA DA FORMATTARE NEL FORMATO gg*mm*aaaa
    function dataformat($data){
        
    $gg=substr($data02);
        
    $mm=substr($data32);
        
    $aa=substr($data610);
        
    $dataformat="$aa"."$mm"."$gg";
        return 
    $dataformat;
    }
    //RESTITUISCE UNA DATA FORMATTATA NEL FORMATO gg/mm/aaaa, $data è LA DATA DA FORMATTARE NEL FORMATO aaaammgg
    function datareformat($data){
        
    $aa=substr($data04);
        
    $mm=substr($data42);
        
    $gg=substr($data68);
        
    $datareformat="$gg"."/"."$mm"."/"."$aa";
        return 
    $datareformat;

    non dovrebbe essere difficile adattarle alla tua esigenza

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  4. #4
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    grazie delle risposte. io ho un form per inserire la data, nel quale riesco solo a inserire nel formato yyyy/mm/gg mentre vorrei inserire gg/mm/yyyy. Il form scrive poi in un campo nel db in cui ho DATE. Dal db poi estrapolo per scrivere la data in una pagina, e vorrei farlo nel formato gg/mm/yyyy
    Ho osservato il tuo script, ho provato a capirlo (non mi intendo molto di php) e a grandi linee ho intuito, ma questo mi sfugge
    Codice PHP:
    ($data02
    a cosa sevono questi numeri?
    dovendo implementare la cosa dal form come dovrei fare? La mia stringa di partenza è questa:
    Codice PHP:
    $data_corso=$_POST['data_corso']; 
    grazie
    Si fanno sempre nuove scoperte

  5. #5
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Originariamente inviato da gabar-el
    grazie delle risposte. io ho un form per inserire la data, nel quale riesco solo a inserire nel formato yyyy/mm/gg mentre vorrei inserire gg/mm/yyyy. Il form scrive poi in un campo nel db in cui ho DATE. Dal db poi estrapolo per scrivere la data in una pagina, e vorrei farlo nel formato gg/mm/yyyy
    Ho osservato il tuo script, ho provato a capirlo (non mi intendo molto di php) e a grandi linee ho intuito, ma questo mi sfugge
    Codice PHP:
    ($data02
    a cosa sevono questi numeri?
    dovendo implementare la cosa dal form come dovrei fare? La mia stringa di partenza è questa:
    Codice PHP:
    $data_corso=$_POST['data_corso']; 
    grazie
    quelle funzioni non fanno altro che prenderti al data in formato gg/mm/aaaa e 'convertirla' in yyyymmaa, tramite il substr LINK


    Codice PHP:
    $var substr($data02); 
    significa che dentro alla variabile $var ci mette i primi 2 caratteri della stringa $data, partendo dal primo carattere (0, come per gli array, la prima chiave è 0).

    guardati bene il link, è tutto spiegato molto bene

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  6. #6
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    grazie, mi sarà sicuramente utile. il fatto è che io voglio far si che gli utenti che scrivano la data possano farlo in questo formato: gg/mm/aa, cosa al momento non possibile. partendo da qui, che è il primo problema, come posso consentire questa cosa agli utenti nel form?
    thanks
    Si fanno sempre nuove scoperte

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    io uso queste 2 funzioncine....

    Codice PHP:
    function date_IT($date)
      {
      list(
    $year,$month,$day)=explode("-",$date);
      
    $res_arr=array();
      
    $res_arr[]=$day;
      
    $res_arr[]=$month;
      
    $res_arr[]=$year;
      
    $result=implode("-",$res_arr);
      return 
    $result;
      }

    function 
    date_DB($date)
      {
      list(
    $day,$month,$year)=explode("-",$date);
      
    $res_arr=array();
      
    $res_arr[]=$year;
      
    $res_arr[]=$month;
      
    $res_arr[]=$day;
      
    $result=implode("-",$res_arr);
      return 
    $result;
      } 
    ma pe ril tuo caso è possibile modificare la seconda in questo modo

    Codice PHP:
    function date_DB($date,$separatore)
      {
      list(
    $day,$month,$year)=explode($separatore,$date);
      
    $res_arr=array();
      
    $res_arr[]=$year;
      
    $res_arr[]=$month;
      
    $res_arr[]=$day;
      
    $result=implode("-",$res_arr);
      return 
    $result;
      }

    // per richiamarla
    $mydata="24/11/2008";
    $new_date=date_DB($mydata,'/'); // restituisce 2008-11-24 
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    ma con queste funzioni riesco a far si che l'utenza possa scrivere la data come vorrei io nel form? per farlo devo modificare per forza come il db accetta la data da ciò che ho capito....

    non mi sono molto chiare quelle funzioni, ma grazie. immagino una vada nella pagina del form e l'altra nella pagina in cui vi è la select, o no?
    :master:
    Si fanno sempre nuove scoperte

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Riprendo questo topic.

    Anche io dovrei poter inserire in un campo la data nel formato gg-mm-aaaa però facendola salvare nel DB come aaaaa-mm-gg e recuperarla in seguito dal DB stampandola però come gg-mm-aaaa.

    Queste 2 funzioni fanno al caso mio?

    Codice PHP:
    function date_IT($date
      { 
      list(
    $year,$month,$day)=explode("-",$date); 
      
    $res_arr=array(); 
      
    $res_arr[]=$day
      
    $res_arr[]=$month
      
    $res_arr[]=$year
      
    $result=implode("-",$res_arr); 
      return 
    $result
      } 

    function 
    date_DB($date
      { 
      list(
    $day,$month,$year)=explode("-",$date); 
      
    $res_arr=array(); 
      
    $res_arr[]=$year
      
    $res_arr[]=$month
      
    $res_arr[]=$day
      
    $result=implode("-",$res_arr); 
      return 
    $result
      } 
    Come si innestano? Quale devo mettere dove ho il campo di inserimento e quale devo mettere dove devo visualizzare la data?

  10. #10
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:
    $sql="insert into tabella (id,data) values (23,'".date_DB['tua_data_italiana']."'); 
    e quando devi restituirla fuori

    Codice PHP:
    $sql="select * from tabella";
    $q=mysql_query($sql);
    while (
    $res=mysql_fetch_assoc($q))
    {
    echo 
    "la data italiana è ".date_IT($res['data'])."
    "
    ;

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.