Utworzyłem następujący skrypt:
<?php
include("funkcje.php");
include("baza.php");
naglowek("Zdarzenie");
$wynik = mysqli_query($mysql, "SELECT * FROM zdarzenie WHERE substr(data, 6, 5) = '$data'");
datapl();
echo "<br /><b>Tego dnia</b>:"; while($wynik && $rekord = mysqli_fetch_assoc($wynik))
{
$data_z_bazy = explode('-', $rekord['data']); $dataunix = mktime(0
, 0
, 0
, $data_z_bazy['1'], $data_z_bazy['0'], $data_z_bazy['2']); $roznica = $dataunix - $dzisiaj;
$roznica2 = floor($roznica / (365
* 24
* 60
* 60
)); if($roznica2 == 1)
{
echo "<br /><b>Rok</b> temu ".$rekord['zdarzenie'].""; echo "<br />".nl2br($rekord['opis_zdarzenie']).""; }
elseif($roznica2 <=4)
{
echo "<br /><b>".$roznica2."</b> lata temu ".$rekord['zdarzenie'].""; echo "<br />".nl2br($rekord['opis_zdarzenie']).""; }
else
{
echo "<br /><b>".$roznica2."</b> lat temu ".$rekord['zdarzenie'].""; echo "<br />".nl2br($rekord['opis_zdarzenie']).""; }
}
?>
W bazie danych mam zdarzenie, którego data to 2004-07-06.
Powinno mi wyświetlić się:
3 lata temu ...
A wyświetla się:
4 lata temu.
Choć różnica pomiędzy datą 2007-07-06 a datą 2004-07-06 to 3 lata