[PHP+MySQL]
Willi
- php
Hallo,
Ich möchte mit PHP und MySQL ein Backend zum uppen von Hausaufgaben auf der Seite unserer Klasse entwickeln. Hier mal ein Link zur bisherigen Testseite.
Ich habe eine Tabelle mit den Spalten ID, datum, fach, aufgabe, wichtig, frei, sonstiges. Jetzt möchte ich, dass Hausaufgaben des selben Datums nicht wie bisher untereinander angeordnet werden, sondern dass sie sozusagen gruppiert werden, also so wie bisher auf der statischen Seite angezeigt werden.
Bisher sieht meine Ausgabe-Quelltext folgendermaßen aus:
$delete = mysql_query("DELETE FROM `hausaufgaben` WHERE datum < CURRENT_DATE()") OR die(mysql_error());
$sql = "SELECT
fach,
aufgabe,
wichtig,
frei,
sonstiges,
datum,
DATE_FORMAT(datum, '%W, den %d.%m.') AS changedatum
FROM hausaufgaben
WHERE datum > CURRENT_DATE()
ORDER BY datum DESC;";
$result = mysql_query($sql) OR die(mysql_error());
echo "<h3>In der Datenbank:</h3>\n";
while($row = mysql_fetch_assoc($result)) {
$deutsch = array("Monday" => "Montag", "Tuesday" => "Dienstag", "Wednesday" => "Mittwoch", "Thursday" => "Donnerstag", "Friday" => "Freitag", "Saturday" => "Samstag", "Sunday" => "Sonntag", "0" => "");
$datum = $row['changedatum'];
$datum = strtr($datum, $deutsch);
$aufgabe = $row['aufgabe'];
$fach = $row['fach'];
$wichtig = $row['wichtig'];
$frei = $row['frei'];
$sonstiges = $row['sonstiges'];
echo "<p style=\"font-style: italic; line-height: 20%;\">Auf " . $datum . "</p>";
if($aufgabe != '' && $fach != ''){
echo "<p><b>" . $fach . ": </b>" . $aufgabe . "</p>\n";
} elseif($wichtig != '') {
echo "<p><strong>" . $wichtig . "</strong></p>";
} elseif($frei != '') {
echo "<p class=\"frei\">" . $frei . "</p>";
} elseif($sonstiges != '') {
echo "<p style=\"font-weight: bold\">" . $sonstiges . "</p>";
}
Kann mir jemand dabei helfen, mein Projekt zu realisieren?
Fände ich echt sehr nett!
Grüße,
Willi
hi,
Jetzt möchte ich, dass Hausaufgaben des selben Datums nicht wie bisher untereinander angeordnet werden, sondern dass sie sozusagen gruppiert werden
Also möchtest du einen Gruppenwechsel realisieren.
gruß,
wahsaga
Hallo,
hi,
Jetzt möchte ich, dass Hausaufgaben des selben Datums nicht wie bisher untereinander angeordnet werden, sondern dass sie sozusagen gruppiert werden
Also möchtest du einen Gruppenwechsel realisieren.
Mhm... naja, ich dachte, dass sich das irgendwie vielleicht mit einer äußeren while-Schleife in der das Datum steht, und dadrin wiederum eine for-Schleife in der die Einträge angezeigt werden.
Habe auch die Idee bekommen, es mit 2 verschiedenen Tabellen zu machen. In die eine kommen die Hausaufgaben, statt dem Datum kommt dort aber nur noch eine dateid, mit welcher aus der anderen Tabelle "datum" eine Verbindung hergestellt wird. Alle Datumswerte mit der selben dateid sollen auf das selbe Datum zugreifen.
Daran scheitere ich aber bisher, da 1. die dateids alle 0 sind und in der Tabelle datum für ein Datum verschiedene Werte erzeugt werden.
Ich denke, so wäre es leichter, also mit dem Link, den du mir geschickt hast. (Bin halt noch sehr neu, was MySQL angeht, hab erst vor einem 3/4 Jahr überhaupt angefangen mich mit HTML zu beschäftigen...)
Auf Anregungen freue ich mich,
Gabriel
hi,
Mhm... naja, ich dachte, dass sich das irgendwie vielleicht mit einer äußeren while-Schleife in der das Datum steht, und dadrin wiederum eine for-Schleife in der die Einträge angezeigt werden.
Wozu?
Du liest die Einträge nach dem Datum sortiert aus, und vergleichst dann beim Ausgeben jeweils das Datum des aktuellen Datensatzes mit dem des vorherigen. Unterscheidet es sich, hat der Gruppenwechsel stattgefunden, und du gibst eine Zwischenüberschrift etc. aus.
gruß,
wahsaga