PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einträge mit vergangenem Datum nicht anzeigen, Einträge mit heutigem Datum markieren


createc
28.11.2007, 17:58:59
Hallo zusammen,

ich speichere in einer Datenbank Einträge, wann welches Equipment von wem benötigt wird. Da ich mir das Script zusammengewürfelt habe, heißen einige Felder "Event...", also nicht verwirren lassen. Das ganze lasse ich in einer Tabelle ausgeben. Der Wochentag wird über eine Funktion dem Datum zugeordnet. Der Code sieht so aus:

<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td><b>Datum/Zeit</b></td>
<td><b>Wochentag</b></td>
<td><b>WB</b></td>
<td><b>Equipment</b></td>
<td><b>Bemerkung</b></td>
<td><b>Name</b></td>
<td><b>Nach Absprache</b></td>
</tr>
<?
$query = "SELECT * FROM calendar_events ORDER BY EventYear, EventMonth, EventDay";
$sql = mysql_query($query);
while ($ds = mysql_fetch_object($sql)){
$EventId = $ds->EventId;
$EventDay = $ds->EventDay;
$EventMonth = $ds->EventMonth;
$EventYear = $ds->EventYear;
$EventTime = $ds->EventTime;
$endzeit = $ds->endzeit;
$Event = $ds->Event;
$wb = $ds->wb;
$bemerkung = $ds->bemerkung;
$name = $ds->name;
$absprache = $ds->absprache;

$wochentag = date("w", mktime(0, 0, 0, $EventMonth, $EventDay, $EventYear));

echo "<tr>";
echo "<td>";
echo $EventDay,".",$EventMonth,".",$EventYear,"<br />",substr($EventTime,0,5)," bis<br />",substr($endzeit,0,5)," Uhr";
echo "</td>";
echo "<td>$wochentaga[$wochentag]</td>";
echo "<td align=\"center\">$wba[$wb]</td>";
echo "<td>";
if (empty($Event)) { echo "&nbsp;"; } else { echo "$Event"; }
echo "</td>";
echo "<td>";
if (empty($bemerkung)) { echo "&nbsp;"; } else { echo "$bemerkung"; }
echo "</td>";
echo "<td>";
if (empty($name)) { echo "&nbsp;"; } else { echo "$name"; }
echo "</td>";
echo "<td>";
if (empty($absprache)) { echo "&nbsp;"; } else { echo "$absprache"; }
echo "</td>";
echo "</tr>";
}
?>
</table>

Was muss ich wo hinzufügen, damit
a) nur Einträge, die in der Zukunft, heute sowie eine Woche in der Vergangenheit liegen angezeigt werden
b) Einträge von heute besonders hervorgehoben werden (z.B. anderer Zellenhintergrund)
c) Einträge von der "Vergangenheitswoche" besonders hervorgehoben werden (z.B. anderer Zellenhintergrund)

Bitte postet nicht nur tipps, sondern nach Möglichkeit auch Code in die entsprechende Stelle meines Codes hinein, damit ich es gut nachvollziehen kann. Bin halt noch Änfanger.
Vielen Dank im Voraus für eure Hilfe.

vt1816
28.11.2007, 19:10:34
Willkommen hier im Forum!


...

Was muss ich wo hinzufügen, damit
a) nur Einträge, die in der Zukunft, heute sowie eine Woche in der Vergangenheit liegen angezeigt werden

...

WHERE-Klausel (http://dev.mysql.com/doc/refman/5.1/de/where-optimizations.html) in SQL-Statment


...

Was muss ich wo hinzufügen, damit
b) Einträge von heute besonders hervorgehoben werden (z.B. anderer Zellenhintergrund)
c) Einträge von der "Vergangenheitswoche" besonders hervorgehoben werden (z.B. anderer Zellenhintergrund)

...

Mit if-Abfrage vor der Ausgabe und entsprechenden style-Einstellung (z. Bsp. via CSS). In einem Zweig die Anzeige normal, im anderen Zweig mit den Hervorhebungen.


...

Bitte postet nicht nur tipps, sondern nach Möglichkeit auch Code in die entsprechende Stelle meines Codes hinein, damit ich es gut nachvollziehen kann. Bin halt noch Änfanger.
Vielen Dank im Voraus für eure Hilfe.

Zu allen Fragen findest Du auch hier im Forum bzw. in den einschlägigen Tut's (http://tut.php-q.net/) auchreichend Beispiele. Wenn Du dann nicht weiterkommst - wird Dir hier geholfen.