Terminkalender - vergangene Termine ausblenden

humsdigga

Mitglied
Hallo,
ich versuche gerade einen in Art Terminkalender zu erstellen. Soll eigentlich ziemlich simple aufgebaut sein. Es gibt den großen Kalender in dem einfach ALLE Termine aufgelistet sind, und ich möchte einen kleinen erstellen, indem nur die 2 NÄCHSTEN Termine angezeigt werden sollen und (jetzt das WICHTIGE) danach nicht mehr angezeigt werden, wenn der Termin vorbei ist.

Hier mein Code:

PHP:
<?php
$seite = $_GET["seite"];  

if(!isset($seite))
   {
   $seite = 1;
   }

$link = mysql_connect("localhost","","") or die ("Keine Verbindung moeglich");
mysql_select_db("") or die ("Die Datenbank existiert nicht");

$eintraege_pro_seite = 2;

$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;

$abfrage = "SELECT * FROM terminefussball WHERE aktiv = '1' ORDER BY dat LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
    {
  
	$dat = $row->dat;
	$betreff = $row->betreff;
	$uhrzeit = $row->uhrzeit;
    $datum = date("d.m.Y H:i", $row->datum);

    echo "

  <div align=\"center\"> <font color=#5F5F5F family=arial size=1><b>$row->dat - $row->uhrzeit</b></font><br>
   
   <font color=#FF0000 size=1><b>$row->betreff</b></font><br></div>
   

   <br>
   ";  };
$result = mysql_query("SELECT id FROM terminefussball WHERE aktiv = '1'");
$menge = mysql_num_rows($result);

$wieviel_seiten = $menge / $eintraege_pro_seite;

echo "";
?>
 
Ich sag immer: Einfach ins Englische übersetzen!

Du brauchst eine Bedingung in SQL hierfür:
nicht mehr angezeigt werden, wenn der Termin vorbei ist

Bedingungen beginnen mit WHERE und das was du willst.
Alle die in der Zukunft liegen -> Alle dessen Zeit größer als die aktuelle ist ->
Code:
`datum` > UNIX_TIMESTAMP()

Sofern du einen Unix-Timestamp in der Tabelle speicherst. Ansonsten verwende NOW().
(Hoffe du hast mySQL)
 
danke schonmal dafür.

Ich hab jetzt schon lange probiert aber irgendwie weiß ich nicht wo ich das anwenden soll.

PHP:
$abfrage = "SELECT * FROM terminefussball WHERE 
dat > UNIX_TIMESTAMP()  ORDER BY dat LIMIT $start, $eintraege_pro_seite";

so würde ich das machen oder?
 
Zuletzt bearbeitet:
Probieren geht über Studieren.

Nimm dir phpMyAdmin oder ähnliches was gerade greifbar ist und teste deine Anweisung. Sieht schon OK aus. Mal abwarten was du herausfindest.
 
was ist wenn ich es so versuche ungefähr:

PHP:
<?php
  $timestamp = time();
  

$datum = date("YYYY-MM-DD",$timestamp);
?>

lässt sich das mit dem datumsformat aus meiner DB vergleichen? oder geht das nich?
 
Zurück