codice:
<?php
$colname_Recordset4 = "-1";
if (isset($_GET['recordIDPRENOTA'])) {
$colname_Recordset4 = (get_magic_quotes_gpc()) ? $_GET['recordIDPRENOTA'] : addslashes($_GET['recordIDPRENOTA']);
}
mysql_select_db($database_musica, $musica);
$query_Recordset4 = sprintf("SELECT * FROM prenota_due WHERE idprenota = '%s'", $colname_Recordset4);
$Recordset4 = mysql_query($query_Recordset4, $musica) or die(mysql_error());
$row_Recordset4 = mysql_fetch_assoc($Recordset4);
$totalRows_Recordset4 = mysql_num_rows($Recordset4);
function converti($drmdata)
{
$giorno_conv=substr($drmdata,8,2);
$mese_conv=substr($drmdata,5,2);
$anno_conv=substr($drmdata,0,4);
$drmdata=$giorno_conv." ".$mese_conv." ".$anno_conv;
return $drmdata;
}
$data_partenza = converti($row_Recordset4['data_partanza']);
$data_arrivo = converti($row_Recordset4['data_arrivo']);
$data_maggiore = $data_partenza;
$data_minore = $data_arrivo;
function contaGiorni($data_maggiore, $data_minore) {
$a = explode('-', $data_maggiore);
$da = explode('-', $data_minore);
$bisesto = 0;
$n_anni = ($a[2] - $da[2]);
for($i = $da[2]; $i <= $a[2]; $i++) {
if ($i % 4 == 0) $bisesto++;
}
if($da[1] > 2 AND $da[2] % 4 == 0) $bisesto--;
if($a[1] < 2 AND $a[2] % 4 == 0) $bisesto--;
$n_giorni = $n_anni * 365 + $bisesto;
$giorni_da =date('z', mktime(0,0,0, $da[1], $da[0], 1970));
$giorni_a =date('z', mktime(0,0,0, $a[1], $a[0], 1970));
return $tot = $n_giorni - $giorni_da + $giorni_a;
}
?>
<?php do { ?>
<?php print contaGiorni($data_maggiore, $data_minore); ?>
<?php } while ($row_Recordset4 = mysql_fetch_assoc($Recordset4)); ?>
Se ho due record:
data_arrivo 11-03-2007 e data_partenza 15-03-2007
data_arrivo 15-03-2007 e data_partenza 17-03-2007
Perche' mi fa il calcolo solo sul 1° record e me lo riporta anche per il secondo
invece di fare il conteggio anche per il secondo record?