rieccomi, tra impegni e altro ho effettuato un po' di test ed ecco i risultati
Caso 1:
il codice calcola la differenza tra release_data (tabella film) e start (tabella actor),
il risultato e' giusto
Caso 2:
il codice calcola la differenza tra release_data (tabella film) e start (tabella actor),
in questo caso vengono visualizzati 2 risultati perche'i film sono 2, ma non dovrebbe accadere, il codice dovrebbe calcolare solo
la differenza tra start e la data attuale (year)
Caso 3:
il codice calcola la differenza tra release_data (tabella film) e start (tabella actor), ma non e' presente nessun film quindi il risultato e' vuoto, il risultato dovrebbe essere come il Caso 2, differenza tra start e data attuale (year)
ecco il codice, non ho sperimentato ancora la differenza tra start (tabella actor) ed end (tabella actor)
Caso 1:
il codice calcola la differenza tra release_data (tabella film) e start (tabella actor),
il risultato e' giusto
Caso 2:
il codice calcola la differenza tra release_data (tabella film) e start (tabella actor),
in questo caso vengono visualizzati 2 risultati perche'i film sono 2, ma non dovrebbe accadere, il codice dovrebbe calcolare solo
la differenza tra start e la data attuale (year)
Caso 3:
il codice calcola la differenza tra release_data (tabella film) e start (tabella actor), ma non e' presente nessun film quindi il risultato e' vuoto, il risultato dovrebbe essere come il Caso 2, differenza tra start e data attuale (year)
ecco il codice, non ho sperimentato ancora la differenza tra start (tabella actor) ed end (tabella actor)
PHP:
<?php
require_once("connetti.php");
$actor_id = $_GET['id'];
//Recupera i film di un attore
$query = "SELECT
film.release_data as release_data,
film.year as year,
actor.end as end,
actor.start as start
FROM film_actor
INNER JOIN film ON film.film_id = film_actor.film_id
INNER JOIN actor ON actor.actor_id = film_actor.actor_id
WHERE film_actor.actor_id = " . $actor_id . ' AND film_actor.film_id IS NOT NULL';
$results = mysql_query( $query );
if (!$results)
die("mySQL error: ". mysql_error());
while( $rows = mysql_fetch_array( $results ) ) : ?>
<?php
error_reporting(-1);
// code In The Business calcola i mesi e giorni trascorsi in caso l'anno e' attuale, esempio: 2020 + update calcolo anno
// by Hormus Mr. Webmaster Forum 2020.07.10
$out_start = $rows['start'];
if(!empty($rows['release_data'])) {
$out_start = $rows['release_data'];
}
$timezone = timezone_open("UTC");
$now = date_create("now",$timezone);
$start = (!empty($rows['release_data']) ? strtr($rows['release_data'], '.', '-') : ((strlen($rows['start']) < 5) ? "{$rows['start']}-01-01 00:00:00" : $rows['start']));
$end = (!empty($rows['end']) ? ((strlen($rows['end']) < 5) ? "{$rows['end']}-01-01 00:00:00" : $rows['end']) : ($now->format("Y-m-d H:i:s")));
$diff = date_create($end, $timezone)->diff( date_create($start, $timezone) );
$testo = 'In The Business';
$year = $diff->y;
$mese = $diff->m;
$giorni = $diff->d;
if($year) {
echo '<font color="blue">' . $year . '</font>' . ' years ' . $testo ;
} elseif($mese == 0 && $giorni == 0) {
echo 'anno corrente';
} elseif($mese) {
echo '<font color="red">' . $mese . '</font>' . ' months ' ;
if($giorni) {
echo '<font color="green">' . $giorni . '</font>' . ' days ';
}
echo $testo;
} else {
echo '<font color="green">' . $giorni . '</font>' . ' days ' . $testo;
}
?>
<? endwhile; ?>
<?php
if(!empty($row['start'])) { echo "<p class=\"bioheading\">Start</p><p class=\"biodata\">" . $row['start'] . "</p>"; }
?>
<?php
if(!empty($row['end'])) { echo "<p class=\"bioheading\">End</p><p class=\"biodata\">" . $row['end'] . "</p>"; }
?>