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

    campo con inserimento data da calendario

    Ho già chiesto tempo fa se qualcuno conosceva una cosa del genere ma senza risultato.
    Ho un campo data e vorrei inserirla con un pulsantino dove mi si apre un calendario, scelgo la data e mi si inserisce la data. In asp ce ne sono 1.000.000.000 ma in php non ho trovato niente...nada....0...empty() :-)

    Qualcuno mi sa dove andare a sbirciare? ho pensato di farne uno ma è un lavoraccio, lavoraccio, lavoraccisssimo.

    grazie

  2. #2
    Io non ne conosco ma ti dico perchè non provi a tradurne uno dall'asp al php?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    semplicemente perchè non conosco asp e quindi non posso tradurre dall'arabo all'italiano anche se conosco l'italiano. :-))
    Mi era già venuta in mente l'idea ma non ci riesco.....purtroppo.
    Ma come mai con asp ce ne sono una barellata e in php lo zero assoluto? ma non capisco. Forse in asp è più semplice crearli?

  4. #4
    Bho. Cmq te l'ho detto perchè ci sono applicazioni in asp che pur non conoscendo l'asp capisci quello che fanno e quindi poi puoi fare una sorta di "traduzione a senso".
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    si infatti se non trovo proprio niente mi toccherà farlo per forza. però penso di fare prima a cominciare da 0. Adesso vediamo se qualche buona anima conosce qualche cosa di già fatto altrimenti domani comincerò a farlo. :-(

  6. #6
    io ho uno script di un calendario, l'avevo trovato su freephp e l'ho riadattato alle mie esigenze, ti permette di navigare fra i vari mesi, puoi selezionare qualsiasi data e automaticamente te la mette nel campo di testo del form.

    Dunque lo script è questo, è lungo, ma basta che lo copi e lo metti per intero in un tuo file, poi te lo potrai studiare con calma:

    codice:
    <link href="up.css" rel="stylesheet" type="text/css">
    <script language="Javascript">
    function Selezionato(data)
    {
    	window.opener.document.form1.data.value = data;
    	window.close();
    }
    </script>
    
    <?
    //----------------- This function is to do the HTML header chore ---------------------
    
    function print_HTML_header()
    {
    	global $flag;
    	/*	echo "Mese: ".$_GET['month'];	
    	echo "
    Anno: ".$_GET['year'];	*/
    	$flag = (isset($_GET['month']) && ($_GET['month'] <> date("n") || $_GET['year'] <> date("Y"))) ? 1 : 0;
    	
    	echo 	"<HTML>\n<HEAD>\n<STYLE>\n".
    			 "\n</STYLE>".
    			 "<TITLE>Calendario\n</TITLE>\n</HEAD>\n<BODY BACKGROUND='images/bg.gif'>\n\n".
    			 "<P ALIGN='center' CLASS='content'>Seleziona la data in cui pubblicare la news:</P>";
    }
    	
    
    //----------------- Funzione per la chiusura dei tag HTML -----------------//
    
    function  print_HTML_footer()
    {
    	echo "</BODY></HTML>";
    }
    
    //----------------- Funzione che stampa il calendario -----------------//
    
    function  print_calendar($mon,$year)
    	{
    		global $dates, $first_day, $start_day, $flag;
    		
    		$first_day = mktime(0,0,0,$mon,1,$year);
    		$start_day = date("w",$first_day);
    		$res = getdate($first_day);
    		$month_name = $res["month"];
    		$no_days_in_month = date("t", $first_day);	// t -> numero dei giorno del mese
    		
    		//Controllo se il primo giorno del mese è una Domenica altrimenti riempio di spazi fino ad arrivare al primo giorno
    		for ($i = 1; $i <= $start_day;$i++)
    			$dates[1][$i] = " ";
    
    		$row = 1;
    		$col = $start_day + 1;
    		$num = 1;	//contatore dei giorni del mese
    		while($num <= 31){
    			if ($num > $no_days_in_month)	break;	//se non ci sono più giorni nel mese esco da ciclo
    			else{
    				$dates[$row][$col] = $num;
    				if (($col + 1) > 7){	//se sono arrivato alla fine della settimana devo scendere di una riga
    					$row += 1;
    					$col = 1;
    				}else
    					$col += 1;
    				$num += 1; 
    			}//fine if-else
    		}//fine while
    
    		$mon_num = date("n",$first_day);	//calcolo del numero del mese -> n = senza eventuali 0
    		$temp_yr = $next_yr = $prev_yr = $year;	//imposto l'anno di visualizzazione
    
    		$prev = $mon_num - 1;
    		$next = $mon_num + 1;
    
    		//Se Gennaio è il mese corrente imposto il mese precedente a Dicembre dell'anno precedente
    		if ($mon_num == 1){
    			$prev_yr = $year - 1;
    			$prev = 12;
    		}
        
    		//Se il dicembre è il mese corrente imposto il mese successivo a Gennaio dell'anno successivo
    		if ($mon_num == 12){
    			$next_yr = $year + 1;
    			$next = 1;
    		}
    
    		echo "<DIV ALIGN='center'><TABLE BORDER=0 WIDTH=350 CELLSPACING=0";
    
    
    		//trasformo i mesi dal formato standard a quello italiano		
    		if (date("F", $first_day) == 'January')			{	$mese = 'Gennaio';		$n = '01';	}
    		elseif (date("F", $first_day) == 'February')	{	$mese = 'Febbraio';		$n = '02';	}
    		elseif (date("F", $first_day) == 'March')		{	$mese = 'Marzo';		$n = '03';	}
    		elseif (date("F", $first_day) == 'April')		{	$mese = 'Aprile';		$n = '04';	}
    		elseif (date("F", $first_day) == 'May')			{	$mese = 'Maggio';		$n = '05';	}
    		elseif (date("F", $first_day) == 'June')		{	$mese = 'Giugno';		$n = '06';	}
    		elseif (date("F", $first_day) == 'July')		{	$mese = 'Luglio';		$n = '07';	}
    		elseif (date("F", $first_day) == 'August')		{	$mese = 'Agosto';		$n = '08';	}
    		elseif (date("F", $first_day) == 'September')	{	$mese = 'Settembre';	$n = '09';	}
    		elseif (date("F", $first_day) == 'October')		{	$mese = 'Ottobre';		$n = '10';	}
    		elseif (date("F", $first_day) == 'November')	{	$mese = 'Novembre';		$n = '11';	}
    		elseif (date("F", $first_day) == 'December')	{	$mese = 'Dicembre';		$n = '12';	}
    
    		//imposto le variabili per navigare negli anni
    		$anno_dopo = $year + 1;
    		$anno_prima = $year - 1;
    		
    		//ricevo da GET la variabile contenente il mese in visualizzazione
    		$month = $_GET['month'];
    		if ($month == ''){	$month = date("n");	}
    		
    		echo 	"\n<TR ALIGN='center'><TD BGCOLOR='#4682B4' ALIGN='left' CLASS='titoli'> ".
    			 "<img src=\"images/prev_month.gif\" border=0 title=\"Mese precedente\"> </TD>".
    			 "<TD COLSPAN=5 BGCOLOR='#4682B4' ALIGN='center' CLASS='corrente'>".$mese." ".$temp_yr."</TD>".
    			 "<TD BGCOLOR='#4682B4' ALIGN='right' CLASS='titoli'> ".
    			 "<img src=\"images/next_month.gif\" border=0 title=\"Mese Successivo\">  </TD></TR>";
    
    		echo "\n<TR ALIGN='center' CLASS='content'><TD CLASS='content' BGCOLOR=\"#87CEFA\">Dom</TD><TD CLASS='content' BGCOLOR=\"#87CEFA\">Lun</TD><TD CLASS='content' BGCOLOR=\"#87CEFA\">Mar</TD>";
    		echo "<TD CLASS='content' BGCOLOR=\"#87CEFA\">Mer</TD><TD CLASS='content' BGCOLOR=\"#87CEFA\">Gio</TD><TD CLASS='content' BGCOLOR=\"#87CEFA\">Ven</TD><TD CLASS='content' BGCOLOR=\"#87CEFA\">Sab</TD></TR>";
    		echo "<TR><TD COLSPAN=7> </TR><TR ALIGN='center'>";
    				
    		$end = ($start_day > 4)? 6:5;
    		//ciclo che mi scrive i giorni!!
    		for ($row = 1; $row <= $end; $row++){
    			for ($col = 1; $col <= 7; $col++){
    				if ($dates[$row][$col] == '')	$dates[$row][$col] = ' ';
    						
    				if (!strcmp($dates[$row][$col], ' '))	$count += 1;
    						
    				$t = $dates[$row][$col];	
    				$var = $t.'/'.$mon.'/'.$year; 
    						
    				//Controllo se la data è oggi la evidenzio
    				if (($t == date("j")) && ($mon == date("n")) && ($year == date("Y"))){
    					echo "\n<TD CLASS='corrente' BGCOLOR=\"#4682B4\">";
    					echo "<a href=\"javascript:Selezionato('$var')\" TITLE=\"$var\">";
    					echo $t."</a></TD>";
    				}else{	//Se il giorno non c'è metto uno spazio
    							echo "\n<TD  CLASS='titoli' BGCOLOR=\"#87CEFA\">".(($t == " " )? "" :"<a href=\"javascript:Selezionato('$var')\" TITLE=\"$var\">".$t)."</a></TD>";
    						}
    					}//fine for -colonne
    				
    				if (($row + 1) != ($end+1))
    					echo "</TR>\n<TR ALIGN='center'>";
    				else
    					echo "</TR>";
    			}//fine for - righe
    					echo "<TR><TD ALIGN=\"left\" BGCOLOR=\"#4682B4\"><a href=\"phpcalendar.php?month=$month&year=$anno_prima\" title=\"Anno precedente\"><img src=\"images/prev_year.gif\" border=0 title=\"Anno precedente\"></a></TD><TD COLSPAN=5 BGCOLOR=\"#4682B4\"></TD><TD ALIGN=\"right\" BGCOLOR=\"#4682B4\"><a href=\"phpcalendar.php?month=$month&year=$anno_dopo\" title=\"Anno Successivo\"><img src=\"images/next_year.gif\" border=0 title=\"Anno successivo\"></a></TD></TR>";
    		
    		echo "\n</TABLE>
    
    ";
    		/*	echo $flag. ' - ';	*/
    		if ($flag == '1')	echo "<A HREF=\"phpcalendar.php\" CLASS=\"content\">Visualizza il mese corrente</A></DIV>";
    		
    
    	}
    	
    //----------Main Loop-----------
    
    
    //Se il mese non è presente lo setto a quello corrente
    $month = (empty($month)) ? date("n") : $month;
    
    //Se l'anno non è presente lo setto a quello corrente
    $year = (empty($year)) ? date("Y") : $year;
    
    print_HTML_header();
    
    print_calendar($month,$year);
    
    print_HTML_footer();
    
    ?>
    la funzione in js che vedi all'inizio:
    <script language="Javascript">
    function Selezionato(data)
    {
    window.opener.document.form1.data.value = data;
    window.close();
    }
    </script>

    è quella che ti permette di mettere la data che hai selezionato nel campo data del tuo form (mi raccomando controlla i nomi dei campi). In questo caso naturalmente il calendario si deve aprire in una popUp, altrimenti non funziona.

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    ma grazieeeee4 lo provo subitisssssssssiiiimissssiiiiimmooooo.
    Se è ok dobbiamo inserirlo nelle pillole perchè è più unico che raro

  8. #8
    ho provato il calendario si apre ma non mi passa la data che seleziono. Ho aperto il calendario in pop. il form si chiama form1 e il campo data. purtroppo non me la passa. adesso provo a fare dei controlli per vedere se trovo l'errore. Il tuo form e il tuo campo come si chiamano? Il calendario come lo apri?

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.