LABEL dinamica con i giorni / mesi / anni dal 1900 fino ad ora

  • Creatore Discussione Creatore Discussione Longo8
  • Data di inizio Data di inizio

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
raga ho una piccola esigenza...
vorrei sapere se esiste una funziona che mi restituisce i giorni dei mesi di un anno tenendo conto dei bisestili e dei diversi mesi...cosicché io possa inserire in una LABEL i dati per far scegliere la data di nascita durante l'iscrizione.

grazie in anticipo ;)
 
micio...ci ho ripensato ieri...preferisco fare un calendario con javascript e poi aggiungo i controlli con php...mi potresti dare una mano? =)
 
Allora

Con JS non saprei come fare... io ho fatto un calendario per il mio sito.
Cmq ho fatto cn php una tabellina dei giorni in cui io gli passo mese e anno e lui mi costruisce la tabella.
Poi ho gestito con JS l'evento onclick su ogni <td onclick="miafunzione();">

Pagina day_template.php
PHP:
<script type="text/javascript">
function changeColorCell(id_cell) {
	var cell= document.getElementById(id_cell);
	var campo= document.getElementById('hid_' + id_cell);
	if (cell.style.backgroundColor=='red') {
		cell.style.backgroundColor='green';
		campo.value=id_cell;
	}
	else {
		cell.style.backgroundColor='red';
		campo.value='0';
	}	
}

function submit_form() {
	document.forms['myform'].submit();
}
</script>
<?
if($mese==1) {
	$mese_precedente=12;
	$mese_successivo=$mese+1;
	$anno_precedente=$anno-1;
	$anno_successivo=$anno;
}
elseif($mese==12) {
	$mese_successivo=1;
	$mese_precedente=$mese-1;
	$anno_precedente=$anno;
	$anno_successivo=$anno+1;
}
else {
	$mese_successivo=$mese+1;
	$mese_precedente=$mese-1;
	$anno_precedente=$anno;
	$anno_successivo=$anno;
}
$mese_stamp=mktime(0,0,0,$mese,1,$anno);
$numero_giorni=intval(date("t",$mese_stamp));?>
<h3><?=$mesi[$mese]." ".$anno;?></h3><?
?>
<form id="myform" action="action.php" method="post">
<table>
<tr>
	<td class="days_calendar">LUN</td>
	<td class="days_calendar">MAR</td>
	<td class="days_calendar">MER</td>
	<td class="days_calendar">GIO</td>
	<td class="days_calendar">VEN</td>
	<td class="days_calendar">SAB</td>
	<td class="days_calendar">DOM</td>
</tr>
<tr><?
$w=date('w',mktime(0,0,0,$mese,date(1),$anno));
$day=1;
$num_celle= ($w+$numero_giorni) > 36? 42 : 35;

for($i=1;$i<=$num_celle;$i++) {
	$time_stamp=mktime(0,0,0,$mese,date($day),$anno);
	
	if($i<$w || $day>$numero_giorni) {?>
		<td class="no_day">&nbsp;</td><?
	}
	elseif($time_stamp < time()) {?>
		<td id="<?=$time_stamp;?>" style="background-color:#999999" class="cell_calendar"><?=$day;?></td><?
		$day++;
	}
	else {?>
		<td id="<?=$time_stamp;?>" onclick="changeColorCell('<?=$time_stamp;?>')" class="cell_calendar"<?
		$query="SELECT timestamp FROM calendario WHERE timestamp='".$time_stamp."' AND id_utente='".$_SESSION['id']."'";
		$query=mysql_query($query,$connessione);
		if(mysql_num_rows($query))
			echo ' style="background-color:green;"';
		?>><?=$day;$day++;?>
		<input type="hidden" id="hid_<?=$time_stamp;?>" name="calendario[]" value="<?
		if(mysql_num_rows($query))
			echo $time_stamp;
		?>" /></td><?
	}
	if($i%7==0) {?>
		</tr>
		<tr><?
	}
}?>
</tr>
<tr>
	<td>
		<a href="prove.php?mese=<?=$mese_precedente;?>&amp;anno=<?=$anno_precedente;?>#CAL" onclick="submit_form()">&laquo;</a>
	</td>
	<td colspan="5">&nbsp;</td>
	<td align="right">
		<a href="prove.php?mese=<?=$mese_successivo;?>&amp;anno=<?=$anno_successivo;?>#CAL" onclick="submit_form()">&raquo;</a>
	</td>
</tr>
</table>
<a name="CAL"></a>
<br />
<input type="hidden" id="mese" name="mese" value="<?=$mese;?>" />
<input type="hidden" id="anno" name="anno" value="<?=$anno;?>" />
<input type="hidden" id="ACTION" name="ACTION" value="calendario" />
<div align="center"><input type="submit" id="procedi" name="procedi" value="Procedi" /></div>
</form><?
	$q=mysql_query("SELECT decide_prove FROM utenti WHERE id='".$_SESSION['id']."'",$connessione);
	$decide_prove=mysql_result($q,0,'decide_prove');
	if($decide_prove) {?>
		<br /><br />
		<a href="action.php?ACTION=decidi_prove">Decidi le prossime prove</a><?
	}
?>

Pagina calendario.php
PHP:
<?
$mesi=array(
	1 => "Gennaio",
	2 => "Febbraio",
	3 => "Marzo",
	4 => "Aprile",
	5 => "Maggio",
	6 => "Giugno",
	7 => "Luglio",
	8 => "Agosto",
	9 => "Settembre",
	10 => "Ottobre",
	11 => "Novembre",
	12 => "Dicembre",
);

include "day_template.php";
?>

Ovviamente qui ho la possibilità di una scelta multipla dei giorni ke mi interessano mentre tu potresti fare direttamente dei link sulle td che ti fanno un this.form.submit() inviando i dati alla tua pagina di controllo.
 
Ultima modifica:

Discussioni simili