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

    Valore campo copiato in altro senza reload

    Ciao a tutti,
    sono nuovamente a chiedere il vostro aiuto, nella speranza che questo post possa essere utile anche per altri.
    sto realizzando un form iscrizione dove devo inserire una serie di giorni compresi fra due date.
    ho trovato questo script che funziona al caso mio e cioè inserendo la data iniziale e quella finale stampa tutti i giorni di intervallo.
    Codice PHP:
    include('ClassMakeDayslist.class.php');

    // example
    $wDateStart "2012-03-11"// the start date
    $wDateEnded "2012-04-07"// the end date
    $wDateType    "normaldate";    // options - timestamp (1331938800) / normaldate ( 2012-04-07 )


    $dt = new DateTimeTransform();
    $dt->setDateStart($wDateStart);
    $dt->setDateEnded($wDateEnded);
    $dt->setDateType($wDateType);

    $listdate $dt->GenerateDaysList();  // generate array  list

    foreach($listdate as $value){
        echo 
    $value."
    "
    // print all days

    collegato ad una classe che ne determina il corretto funzionamento
    Codice PHP:
    class DateTimeTransform {

            private 
    $sDateStart;
            private 
    $sDateEnded;
            private 
    $sDateType;
            private 
    $slistDate;

            public function 
    __construct() { }

            public function 
    setDateStart($sDateStart){
                
    $this->sDateStart $sDateStart;
            }

            public function 
    setDateEnded($sDateEnded){
                
    $this->sDateEnded $sDateEnded;
            }

            public function 
    setDateType($sDateType){
                
    $this->sDateType $sDateType;
            }

            function 
    GenerateDaysList(){

                
    $CCS strtotime($this->sDateStart);    // convert from date to timestamp
                
    $CCE strtotime($this->sDateEnded);        // convert from date to timestamp
                
    $CCTOTAL $CCE $CCS;                    // make diference of timestamp
                
    $CCDAYS ceil($CCTOTAL/86400)+1;        // return max days
                
                
    for($i=0;$i<$CCDAYS;$i++){

                    
    $this->slistDate = ($CCS+($i*86400));

                    if(
    $this->sDateType=="timestamp"){
                        
    $timestamp_alldays[]=$this->slistDate//timestamp
                    
    }
                    else if(
    $this->sDateType=="normaldate"){
                        
    //$timestamp_alldays[] = date("Y-m-d H:i:s",$timestamp_alldays[$i]); // convert from timestamp to date
                        
    $timestamp_alldays[] = date("d-m-Y",$this->slistDate); // convert from timestamp to date
                    
    }
                    
    //
                
    }

                return 
    $timestamp_alldays;
            } 
    // end method


    // end class 
    Ora io vorrei che i valori iniziale e finale fossero ripresi da un campo input presente nel mio form senza dover ricaricare la pagina in quanto ho altri dati che non devono essere cancellati.
    Pensavo di farlo con ajax ma non so proprio da dove iniziare.
    Sapete indicarmi la strada?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Prendi spunto

    codice:
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
    
    <script>
        
        function callAjax(){
            var data = 
              { 'data_start' : document.forms.my_form.data_start.value,
                'data_end'   : document.forms.my_form.data_end.value   
              };
            $.ajax({
                type: 'POST',
                url: 'page.php',
                data: data,
                success: function(date){
                    $('#date').html(date);
                }
            });
            return false;
        }
        
        </script>
        
        <div id="date"></div>
        
        <form action="#" id="my_form" method="POST">
            <input type="text" name="data_start" placeholder="data iniziale">
    
            <input type="text" name="data_end" placeholder="data finale">
    
            <input type="button" onclick="callAjax()" value="stampa date">
        </form>
    Codice PHP:
    include('ClassMakeDayslist.class.php'); 

    $wDateType    "normaldate";    // options - timestamp (1331938800) / normaldate ( 2012-04-07 ) 


    $dt = new DateTimeTransform(); 
    $dt->setDateStart($_POST['data_start']); 
    $dt->setDateEnded($_POST['data_end']); 
    $dt->setDateType($wDateType); 

    $listdate $dt->GenerateDaysList();  // generate array  list 

    foreach($listdate as $value
        echo 
    $value."
    "
    // print all days 

  3. #3
    Grazie per la risposta…
    era proprio quello che volevo, no una "pappa pronta" ma uno spunto su cui studiare e valutare le soluzioni
    GRAZIE ANCORA
    adesso lo provo e se ho problemi ti faccio sapere.
    Saluti

  4. #4
    Ciao,
    ho provato la soluzione e funziona perfettamente.
    Ora sono al problema 2:
    ad ogni data io devo associare data di apertura, chiusura e preferenza ingresso.
    L'ho inserita con menu a tendina popolati dagli orari.
    Ma come posso fare ad inserire quei valori nelle relative tabelle del database considerando che non ho id per ogni data?
    Grazie a tutti…

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.