Kalenderjahre aus Tabelle auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kalenderjahre aus Tabelle auslesen

    Ich habe folgendes Problem. Ich möchte aus einer sql Tabelle die eine Spalte "StartDate" enthält, jeweils nur die Jahreszahlen auslesen und diese auch nicht doppelt. Dass heißt jedes Jahr was darin vorkommt nur einmal. Das ganze soll dann in eine Auswahliste geschrieben werden. Mein derzeitiger Quellcode sieht so aus:

    global $database;

    $database->setQuery("select distinct year(StartDate) from #__ffba_einsatz");
    $daten = $database->loadObjectList();
    $datum = '';
    if ($daten)
    {
    foreach ($daten as $datum)
    {
    $options .= "0;$datum;$datum\n";

    }
    return $options;
    }

    Ich bekomme so nun auch zwei Einträge in der Liste (gibt auch nur einträge aus 2003 und 2004) wobei anstatt $Datum dann nur Ojekt eingefügt wird. Normal müsste der Eintrag in der Zeile " $options .= "0;$datum;$datum\n"; " ungefähr so ausehen $Datum->StartDate
    Dann würde er mir nur das StartDatum rauswerfen... aber da ich ja oben die Auswahl eingeschränkt habe wirft er mir da so keinen gültigen Eintrag raus. Das ganze läuft über ein Mambo PHP. Ich wer für jede Hilfe dankbar da ich noch nicht so den Plan habe und schon alle möglichen Sachen getestet hab
    Zuletzt geändert von Erics; 14.01.2005, 20:16.

  • #2
    welchen variablen typ gibt die Funktion loadObjectList(); zurück?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      loadObjectList() bewirkt normal ein Array mit den Variablen die von der SQL Datenbank übergeben werden. Was jetzt genau beim Typ: distinct year(StartDate) rauskommt kann ich dir nicht sagen. Hab bisher immer nur Anfragen auf ein oder mehr Zellen gemacht und die dann als Array ausgelesen. StartDate ist als Format Date YYYY-MM-DD in der Datenbank abgelegt.

      Normal kannste dann halt über $VARABLE->AUSLESEWERT
      Den Wert ausgeben lassen. Wenn meine Anfrage der Datenbank

      select StartDate from #__ffba_einsatz

      wär, dann müsste ich halt unten:

      $options .= "0;$datum->StartDate;$datum->Startdate\n";

      einsetzen und hätte nacher in meiner $options Variable sämtliche Datums Einträge drin stehen. Das Funktioniert. Aber Ich möchte halt nacher ne Auswahliste habe wo die Leute das Jahr auswählen. Und ich lass dann nur die Einträge aus dem Jahr ausgeben. Könnte natürlich auch die Jahre manuell vorgeben. Das wär aber halt unpraktisch da ich die Auswahliste dann jedes Jahr Editieren müsste.

      Kommentar


      • #4
        mach mal
        $database->setQuery("select distinct year(StartDate) myYear from #__ffba_einsatz");

        foreach ($daten as $datum)
        {
        $options .= "0;$datum->myYear;$datum->myYear\n";

        }
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Super, das funktioniert :-) Vielen Dank. Da hab ich wieder was gelernt... Werd dann jetzt mal weiter Tüfteln das ich den Rest ans laufen kriege.

          Kommentar

          Lädt...
          X