PHP Vis næste dato i database
HejsaJeg er ved at lave en php-kode som skal hente nogle datoer over fodboldkampe i en MySQL database.
Koden skal vise nedtælling til næste fodboldkamp, og vise det i dage, timer og minutter...
Det virker fint indtil tiden overskrides...så hentes den næste kamp ikke og den looper bare indenfor 24 timer, igen og igen.
Hvad gør jeg forkert?
Her er koden:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Aston Ville kamp-udtræk</title>
</head>
<body>
<?
include 'include/dbconn.php';
// id er unik og reference for kampen...der udtrækkes fra idag og frem...
$sql = "SELECT * FROM kampe_2008 WHERE dato >= NOW() ORDER BY dato ASC";
if (!$result = mysql_query($sql)) {
echo "Inden forbindelse til Databasen!";
exit;
}
//udtræk lægges over i array...
while ($atribut_nr = mysql_fetch_array($result)){
// fjerde attribut er dato 'spilledag'
$spilledag[] = $atribut_nr[1];
$spiltidspunkt[] = $atribut_nr[2];
$modstander[] = $atribut_nr[3];
$modstander_logo[] = $atribut_nr[8];
}
// der splittes for at jonglere med datoformatet
$dato = explode("-", $spilledag[0]);
$tidspunkt = explode(":", $spiltidspunkt[0]);
$timer = $tidspunkt[0];
$minutter = $tidspunkt[1];
// ---
//hvis der ønskes formatet 09 istedet for 2009 benyttes '$ar = substr($dato[0], 2)';
$ar = $dato[0];
$maned = $dato[1];
$dag = $dato[2];
// jeg ønsker ikke 0 foran etcifrede datoer...
if (substr($dag,0,1) == 0) {
$dag = substr($dag,1,1);
}
if (substr($maned,0,1) == 0) {
$maned = substr($maned,1,1);
}
// så definerer vi månednavnene på dansk!
$nr[1] = "januar";
$nr[] = "februar";
$nr[] = "marts";
$nr[] = "april";
$nr[] = "maj";
$nr[] = "jui";
$nr[] = "juli";
$nr[] = "august";
$nr[] = "september";
$nr[] = "oktober";
$nr[] = "november";
$nr[] = "december";
$spilojeblik = mktime($timer, $minutter, 0, $maned, $dag, $ar) ;
$idag = time () ;
$difference =($spilojeblik-$idag) ;
//$days = (int) ($difference/86400);
$dage_tilbage = floor($difference/60/60/24);
$timer_tilbage = floor(($difference - $dage_tilbage*60*60*24)/60/60);
$minutter_tilbage = floor(($difference - $dage_tilbage*60*60*24 - $timer_tilbage*60*60)/60);
// idag...
if ($spilledag[0] == date("Y-m-d")) {
echo "Næste kamp er mod ".$modstander[0]." idag den $dag. $nr[$maned], $ar kl. $timer:$minutter. Nedtælling til kampen er: ";
if ($timer_tilbage != 0) {
echo $timer_tilbage."timer";
}
echo $minutter_tilbage." minutter.<br><img src='klub_logoer/".$modstander_logo[0].".jpg'>";
}
// ikke idag...
else {
echo "Næste kamp er mod ".$modstander[0]." om $dage_tilbage dage, ";
if ($timer_tilbage != 0) {
echo $timer_tilbage." timer og ";
}
echo $minutter_tilbage." minutter.<br>Kampen spilles den $dag. $nr[$maned], $ar kl. $timer:$minutter.<br><img src='klub_logoer/".$modstander_logo[0].".jpg'>";
}
?>
</body>
</html>