tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
15
ZUGRIFFE
1755
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    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
     

  2. #2
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    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
    Geändert von Luzie (19.07.06 um 17:13 Uhr)
     
    liebe Grüße, die Luzie

  3. #3
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    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 www.fckitz.at/db_test2.asp
     

  4. #4
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Genauso, wie ich es beschrieben haben kannst du es bewerkstelligen.

    Sorry, mit einem Link kann ich leider nichts anfangen.
     
    liebe Grüße, die Luzie

  5. #5
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    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
     

  6. #6
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    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.
     
    liebe Grüße, die Luzie

  7. #7
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    Hi!
    Ich habe mich gefragt, wieviel Sinn es macht, hier meinen ganzen Quellcode zu posten.
    Hier ein Versuch, das Relevante herauszugreifen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    <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
     

  8. #8
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    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
     
    liebe Grüße, die Luzie

  9. #9
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    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 :
    1
    2
    3
    
    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: www.fckitz.at/db_test2.asp
    Das Ganze sollte folgendermaßen aussehen: 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
    Geändert von redwing78 (02.04.06 um 16:11 Uhr)
     

  10. #10
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    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
    Geändert von Luzie (02.04.06 um 19:49 Uhr)
     
    liebe Grüße, die Luzie

  11. #11
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    Danke vielmals, ich glaub, ich kriegs hin!
     

  12. #12
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    Hi! Ich habs mit einer monatsweisen Gruppierung hingekriegt.
    In einer Zeile steht also der Monat,
    darunter alle Termine in diesem Monat.

    Wie funktioniert das, wenn ich das Ganze nach Tagen sortiert ausgeben will?
    Also zB in einer Zeile das Datum und darunter alle Termine?

    zB
    31.10.2006
    1170 Wien, Mozartgasse 3, 10-18 Uhr
    6020 Innsbruck, Olympiastr. 4, 13-22 Uhr
    usw.

    DANKE - LG, redwing78
     

  13. #13
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Zitat Zitat von redwing78
    Hi! Ich habs mit einer monatsweisen Gruppierung hingekriegt.
    In einer Zeile steht also der Monat,
    darunter alle Termine in diesem Monat.
    Naja, 3 Monate ist ja keine Zeit

    Wie funktioniert das, wenn ich das Ganze nach Tagen sortiert ausgeben will?
    Also zB in einer Zeile das Datum und darunter alle Termine?

    zB
    31.10.2006
    1170 Wien, Mozartgasse 3, 10-18 Uhr
    6020 Innsbruck, Olympiastr. 4, 13-22 Uhr
    usw.
    Das funktioniert genauso wie die monatweise Gruppierung, Du musst das Datum halt als Variablenwert nehmen.
     
    liebe Grüße, die Luzie

  14. #14
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    Hi!
    Ich wollte nur ausdrücken, daß anstelle der monatsweisen Gruppierung eine tageweise entstehen soll. Ich habe auch schon versucht, "month" durch "day" zu ersetzen, aber das funktioniert nicht. Ich erhalte dann die Termine zeilenweise und ganz links einfach nur den Monatstag.

    Hier mein Code & danke im Voraus für die Hilfe!
    Eine Vorschau der aktuellen Version hab ich unter www.auf-online.at/ eingestellt.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    strSQL = "SELECT TerminID, Datum, Uhrzeit, Adresse, PLZ, Ort, TerminTyp, Infos FROM AufOnlineTermine WHERE  Datum >= DATE() ORDER BY Datum"
    objRS.Open strSQL, objCon
    objRS.MoveFirst ' Geht zum ersten Datensatz
    intCounter = 1
    myDay = day(objRS("Datum"))
    while not objRS.EOF %>
      <tr>
        <td class="texts" width="30%">
    <% if myDay = "" or myDay = day(objRS("Datum")) or myDay <> day(objRS("Datum")) then
    Response.Write day(objRS("Datum")) & objRS("Datum") & "</td><td width='70%' class='texts'>" & objRS("Adresse") & objRS("PLZ") & objRS("Ort") & "</td></tr>"
    end if 
                    
    intCounter = intCounter + 1
    objRS.MoveNext ' Geht einen Datensatz weiter
    Wend %>
     

  15. #15
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Hi

    schau Dir nochmals diesen Scriptcode an und vergleiche ihn mit dem, welchen Du zuletzt gepostet hast.

    http://www.tutorials.de/forum/1252680-post10.html

    Überprüf die Abfragen, Du Du wirst selbst den Fehler sehen.
     
    liebe Grüße, die Luzie

Ähnliche Themen

  1. mysql Daten gruppieren
    Von payco01 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 20.10.08, 17:11
  2. Daten gruppieren
    Von salzburgerbua im Forum ASP
    Antworten: 1
    Letzter Beitrag: 06.09.08, 22:13
  3. Kombifeld mit Daten aus Datumsfeld nach Jahr gruppieren
    Von Tha_Joka im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 01.09.05, 16:35
  4. PHP/MySQL Gruppieren von Daten
    Von mr.gamesbay im Forum PHP
    Antworten: 2
    Letzter Beitrag: 26.08.05, 20:43
  5. Daten gruppieren
    Von Alain im Forum PHP
    Antworten: 9
    Letzter Beitrag: 22.09.04, 23:02