Daten monatsweise gruppieren

redwing78

Mitglied
Hallo allerseits,
ich habe von einer Datenbank Termine mit Beschreibung in einer Tabelle ausgegeben (http://mmf.softcon.at. Es werden die Daten ab heute DATUM >= DATE() angezeigt.

Die Tabelle ist ziemlich lang und unübersichtlich; ich würde das gern Monatsweise machen. Kann mir jemand helfen, wie das möglich ist?
Danke, LG redwing78
 
Hallo

wie hast Du Dir das denn vorgestellt?
Du kannst Dir die Tabelle nach Datum sortieren. Im Verlauf fragst Du dann immer den nachfolgend aufgerufenen Datensatz ab. Ist dieser gleich dem vorherigen, dann wird das Feld nur einmal ausgegeben, solang, bis sich der Monat wieder ändert.

bsp. (ungetestet)

Code:
dim myMonth 
while not rs.eof
if myMonth = "" or myMonth <> month(rs("datum")) then
Response.write "<div style=""font-weight:bold"">" & monthname(month(rs("datum"))) & " " & year(rs("datum")) & "</div>"
myMonth = month(rs("datum"))
end if
Response.write "<div style=""padding-left:20px"">" & rs("feld") & "</div>
rs.movenext
wend
 
Zuletzt bearbeitet:
Hi, ich denke, ich habe geschafft, was Du eingebaut hast.
Allerdings sieht man jetzt nur die Termine, die fürs aktuelle Monat verfügbar sind.
Es sollten alle Termine monatsweise angezeigt werden -wie kann ich das bewerkstelligen?
Danke, redwing
Der aktuelle Link ist http://www.fckitz.at/db_test2.asp
 
Genauso, wie ich es beschrieben haben kannst du es bewerkstelligen.

Sorry, mit einem Link kann ich leider nichts anfangen. :(
 
Hi!
Ich hab doch den Code eingebaut, den Du mir geschrieben hast.
Jetzt werden nur die Termine des aktuellen Monats angezeigt (siehe Link).
Wie geht es denn, daß ich auch die anderen Monate sehe?
LG, redwing78
 
Hi

ich kann Dir auch nur immer wieder sagen, so, wie ich es bereits gepostet habe.

Dies ist ein Beispiel, was Du daraus gemacht hast, das kann ich nicht hellsehen. Ich kenne weder Deine Script-Umsetzung noch Deine Abfrage noch kenne ich Deine Tabellen.

Mehr kann ich dazu nicht sagen, sorry.
 
Hi!
Ich habe mich gefragt, wieviel Sinn es macht, hier meinen ganzen Quellcode zu posten.
Hier ein Versuch, das Relevante herauszugreifen:
Code:
<tr>
<td class="texts" width="30%">
<% if myMonth = "" or myMonth = month(objRS("Datum")) then
Response.Write myMonth & objRS("Datum") & "</td><td width='70%' class='texts'>" & objRS("Programm") & objRS("Ort") & "</td></tr>"
end if
intCounter = intCounter + 1
objRS.MoveNext ' Geht einen Datensatz weiter
Wend %>

Bei diesem Code werden alle Termine fürs aktuelle Monat ausgegeben, wobei der Monatsname bei allen Terminen des Monats angezeigt wird - 1x als Überschrift wäre eigtl. genug.
Wie geht es, auch die folgenden Monate anzuzeigen?
Danke, LG, redwing78
 
sorry, hier war ich der Trottel.

Ich habe das Script aus dem Kopf geschrieben, ich habe das schon so oft getan und nun ist mir ein Fehler passiert.

Die Abfrage muss auf ungleich lauten:

if myMonth = "" or myMonth <> month(objRS("Datum")) then ...

Aber machmal ist es halt so :-( :-( :-(

Übrigens: Quellcode posten macht IMMER Sinn
 
Hi Luzie,
ich habe jetzt etwas herumexperimentiert und dabei den code von Dir eingesetzt.
Das Resultat sieht so aus, daß bei jedem Termin nun die Zahl des Monats vorne steht (also 4 für April, 5 für Mai, etc.).

der Code lautet wie folgt (vereinfacht):
Code:
if myMonth = "" or myMonth = month(objRS("Datum")) or myMonth <> month(objRS("Datum")) then
Response.Write month(objRS("Datum")) & objRS("Datum") & objRS("Programm") & objRS("Ort")
end if

Die Tabelle besteht aus Datum, Zeit, Programm und Ort.
Der aktuelle Link lautet: http://www.fckitz.at/db_test2.asp
Das Ganze sollte folgendermaßen aussehen: http://www.fckitz.at/db_test2.htm

Wie kann ich die Monatsnamen als Überschriften für die einzelnen monatsweisen Terminblöcke anzeigen lassen?
Danke - LG,
Josef
 
Zuletzt bearbeitet:
Sorry, das ist falsch, so wie Du es da gemacht hast.
So habe ich es ursprünglich auch nicht angegeben.
In meinem o.a. Scriptcode habe ich den Monatsnamen auch ausgeschrieben. Es musste lediglich das = durch <> ersetzt werden, das habe ich ja im nachhinein noch korrigiert. Es war nicht gemeint, dass dieser Punkt als zusätzliche Bedingung dazu kommt. Weiterhin hast Du der Variablen myMonth keinen Wert zugewiesen. So funktioniert das nicht.

Sonst ist die Vorgehensweise wie oben bereits beschrieben.

Code:
dim myMonth 
while not objrs.eof
if myMonth = "" or myMonth <> month(objrs("datum")) then
Response.write "<div style=""font-weight:bold"">" & monthname(month(objrs("datum"))) & " " & year(objrs("datum")) & "</div>"
myMonth = month(objrs("datum"))
end if
Response.write "<div style=""padding-left:20px"">" & objrs("datum") & " " & objrs("ort") & "</div>"
objrs.movenext
wend

Den Wochentag kannst du mir Weekdayname(weekday(objrs("datum"))) ermitteln und 2 Buchstaben mit der Funktion left(variable,2) oder

<% =WeekdayName(variable, True) %>

Ein Studium der wenigen vbScript-Funktionen schade nix, wenn man sich damit beschäftigt.
Hier ein Tipp http://www.devguru.com/technologies/vbscript/13896.asp
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück