Nächten Termin von heute aus gesehen aus einer Tabelle abfragen

Frank Snake

Grünschnabel
Hi ich hab hier mal ne Frage bezüglich einer Abfrage.

Ich habe hier in ner Datenbank ne Tabelle in der verschiedene Termine stehen.
Ich will das der nächste Termin von heute aus ausgegeben wird. Bisher habe ich das Problem so wie unten im Quelltext gelöst. Nur jetzt zeigt er mir zwei Termine an die in den nächsten zwei Wochen liegen. Das will ich nicht.

Wie kann ich den nächsten Termin von heute abfragen, und auch nur das einer ausgegaben wird?


PHP:
<?php
include("dbconnect.php");

function fdate($datum)
  {
     $part = explode("-", $datum);
     $result1 = $part[2].".".$part[1].".".$part[0];
     return $result1;
  }

$uebung = mysql_query("SELECT datum, art, thema, ausbilder FROM uebungsplan04 where datum >= curdate() and datum <= curdate()+ interval 14 day");

while ($myrow = mysql_fetch_assoc($uebung))
{
echo "<font face=verdana>Nächste Übung: <b>".fdate($myrow['datum'])."</b> Thema: <b>".$myrow['thema']."</b> Ausbilder: <b>".$myrow['ausbilder']."</b></font>";
}
?>

THX Frank
 
Mit "LIMIT 1" in einem SQL Statement kannst du deine Zeilen auf eine reduzieren.

Um den nächsten Termin zu bekommen könntest du dir zB alle folgenden Termine ausgeben lassen, sie nach dem Datum absteigend sortieren lassen (DESC) und LIMIT 1 verwenden. So erhältst du den nächsten kommenden an 1 Stelle und alleine ausgegeben.

Also SELECT * FROM termin WHERE date > NOW() oder by date DESC LIMIT 1
so in etwa.

ciao nauti
 
Zuletzt bearbeitet:
Danke

Super danke dir

ich hab das ohne mit dem Desc gemacht, denn sonst hätte er mir den letzten Termin in der Tabelle angezeigt. ;)
 
Wie mache ich denn das er mir den Termin von heute auch noch heute anzeigt und nicht schon den nächsten?`

Also wenn ich einen Termin jetzt am 16.04..2004 habe will ich auch das der Termin an dem Tag angezeigt wird, und erst am 17.04. also wenn der Termin vorbei ist, der nächste angezeigt wird?

PHP:
$uebung  = mysql_query("SELECT datum, art, thema, ausbilder FROM uebungsplan04 WHERE datum > NOW() order by datum LIMIT 1");

So ist die Abfrage bist jetzt


Thx Frank
 
Hallo Frank,

Wie mache ich denn das er mir den Termin von heute auch noch heute anzeigt und nicht schon den nächsten?

Indem die WHERE Bedingung entsprechend geändert wird:

PHP:
$uebung  = mysql_query("SELECT datum, art, thema, ausbilder FROM uebungsplan04 WHERE datum >= NOW() order by datum LIMIT 1");


Grüße Thomas
 
Zurück