Beiträge von Bertl

    Servus miteinander,

    wenn ich Zugriffsebenen, die ich nicht mehr benötige, löschen will, verweigert joomla dies, wenn Daten in o.g. Tabelle (oder auch in _finder_taxonomy) sich auf diese Zugriffsebene beziehen. Kann ich die Daten in diesen Tabellen einfach löschen? So richtig verstanden habe ich die Funktion und Aufgabe dieser Tabellen nicht.

    Danke vorab an alle für die Hilfe

    Gruß

    Nochmal vielen Dank an Christiane und die anderen beiden, die mir versucht haben zu helfen!

    Ich habe tatsächlich meinen "Denkfehler" gefunden.
    Mit $result = $db->loadAssoc(); speichere ich meine Abfrage und kann dann über
    $this->endJahr['MAX(endeJahr)']; darauf zu greifen.
    Und hier lag auch das Problem. Ich hatte das immer versucht mit dem Spaltenamen 'endeJahr' bis ich darauf gekommen bin, dass das Feld wohl MAX(endeJahr) heißt. Und siehe da, es klappt.

    Danke und viele Grüße Bertl

    Guten Abend miteinander,

    warum auch immer, es will nicht funktionieren, die Fehlermeldung bei $this->result lautet:

    Zitat

    Notice: Undefined property: KursplanungViewKursplanung::$result in C:\Users\Bertl1\Documents\xampp\htdocs\j341neu\components\com_kursplanung\views\kursplanung\tmpl\default.php on line 67


    Zur Erinnerung: In der Modellist steht folgender Code:

    Code
    public function getEndJahr()    {        $db = $this->getDbo();        $query = $db->getQuery(true);        $query->select('MAX(endeJahr),id, endeMonat');        $query->from('#__kursplanung');        $db->setQuery($query);        $result = $db->loadRow();        return $result;


    und in der view.html.php


    Es muss sich aber niemand deswegen graue Haare wachsen lassen, geht halt nicht, ist aber nicht schlimm.

    Viele Grüße
    Bertl

    Auch wenn Du es nicht glaubst (und mich vielleicht für ... hältst, selbstverständlich hatte ich diese Version schon ausprobiert):
    die Meldung lautet:

    Code
    Notice: Undefined variable: result in C:\Users\Bertl1\Documents\xampp\htdocs\j341neu\components\com_kursplanung\views\kursplanung\tmpl\default.php on line 67

    Gruß Bertl

    Guten Morgen,

    statt der Abfrage:
    alt: $query->select('MAX(endeJahr);
    neu: $query->select('MAX(endeJahr),id, endeMonat');

    und statt
    alt: $result = $db->loadResult();
    neu: $result = $db->loadRow();

    Wenn ich es richtig verstanden habe, liefert loadResult() nur einen Wert, loadRow() dagegen einen Datensatz. Aber wie komme ich jetzt an die einzelnen Werte heran.

    Viele Grüße

    Bertl

    Hallo Christiane,
    eine kleine Nachfrage hat sich noch ergeben.
    Wenn ich statt einem Wert, zwei Werte haben will, dann müsste dies doch mit folgender veränderter Abfrage gehen (loadRow() statt loadResult()):


    Es gelingt mir aber nicht, dann auf die Daten zuzugreifen. Alle meine Versuche scheitern an:

    Zitat

    Undefined variable: endJahr in oder
    Undefined property

    Es tut auch eine Anregung ...

    Viele Grüße Bertl

    Guten Morgen Christiane,

    vielen Dank für Deine Mühe. Nachdem ich die beiden Dateien ausgetauscht habe erhalte ich folgende Fehlermeldung:

    Zitat

    Fatal error: Call to undefined method KursplanungViewKursplanung::endJahr() in C:\Users\Bertl1\Documents\xampp\htdocs\j341neu\components\com_kursplanung\views\kursplanung\view.html.php on line 12


    Für mich ist die Meldung auch klar, da mir das grundlegende Verständnis fehlt: Was hat die Funktion einWert() mit $endJahr zu tun?
    Ich gebe jetzt mal auf und löse das ganze erstmal über eine feste Laufzeit (3 Jahre ab Monatsdatum).

    Viele Grüße

    Bertl

    PS: kommen zu den Joomla Stammtischen in München nur Profis oder gibt es dabei auch Anfänger?

    Danke Christiane, dass Du noch Geduld aufbringst. Anbei meine rudimentären Ansätze. Der Gedanke ist folgender. In einem Balkendiagramm sollen die Kurse über die entsprechenden Monate angezeigt werden. Beginnend immer ab dem aktuellen Monat und endend mit dem letzten Kurs + z. B. drei Monate. Dafür wollte ich dieses Maxwert haben. Die Datei gibts hier https://www.dropbox.com/s/7uwudghiuapm…lanung.zip?dl=0
    , habe nicht herausgefunden, wie ich Dateien hier hochladen kann.
    Gruß Bertl

    Danke Christiane für die Hinweise,

    Der Code

    Code
    $query->select(array('*', 'MAX("endeJahr") AS endJahr'))->from($db->quoteName('#__kursplanung'));


    führt dazu, dass mir nur ein Datensatz angezeigt wird (an der Schleife foreach habe ich nichts verändert). Keine Ahnung, was ich da jetzt falsch mache.
    $endjahr ist leer, jedenfalls wird mir nichts angezeigt.

    So richtig verstehe ich die Denke des MCV nicht. Wieso kann ich nicht einfach eine zweite Abfrage machen, das Ergebnis durchreichen und darauf zugreifen. Mir würde die Lösung viel einfacher erscheinen, als alles in ein Array zuverpacken und dann nicht dranzukommen ?(
    Freue mich auf weitere Anregungen.
    Gruß Bertl

    Hi Jonas,
    erstmal vielen Dank für die Unterstützung, leider komme ich damit noch nicht weiter. Im Einzelnen:

    • in Deinem Code Zeile 8, fehlt da am Anfang $query?
    • bisher konnte ich mit folgendem Code auf die gesamte Abfrage zugreifen:
    • PHP
      <table>
      
      
      <?php foreach ($this->items as $item) : ?>
      <tr>    
          <td><?php echo $item->kurs; ?></td>
      </tr>
      <?php endforeach; ?>
      </table>
    • das geht jetzt nicht mehr, der Zugriff über $this->items ist nicht mehr möglich.
    • Hier die Fehlermeldungen zur Ausgabe: echo $row->endJahr;
    • Zitat

      Notice: Undefined variable: row in C:\Users\Bertl1\Documents\xampp\htdocs\j341neu\components\com_kursplanung\views\kursplanung\tmpl\default.php on line 83Notice: Trying to get property of non-object in C:\Users\Bertl1\Documents\xampp\htdocs\j341neu\components\com_kursplanung\views\kursplanung\tmpl\default.php on line 83


    Gibt es eine Idee, was ich wie anders machen könnte.

    Vielen Dank
    Bertl

    Servus miteinander,
    nachdem mir nichts mehr einfällt, die sicherlich total simple Frage ans Forum.
    Ich will eine Komponente entwickeln, in der zwei Abfragen erfolgen sollen. Zum einen werden alle Daten abgerufen, zum zweiten möchte ich den größten Wert einer Kategorie ermitteln.
    Im Model habe ich mir das so vorgestellt:

    Code
    class KursplanungModelKursplanung extends JModelList{    protected function getListQuery()    {        $db = $this->getDbo();        $query = $db->getQuery(true);        $query->from('#__kursplanung');        $query->select('*');        return $query;    }    protected function einWert()    {        $db = $this->getDbo();        $query = $db->getQuery(true);        $query->select('MAX("endeJahr")');        $query->from('#__kursplanung');        return $query;    }}


    Die View dazu schaut folgedermaßen aus:

    Code
    class KursplanungViewKursplanung extends JViewLegacy
    {
        protected $items;
    
        function display($tpl = null)
        {
            $this->items = $this->get('Items');
            parent::display($tpl);
        }
    }

    Alle Daten kann ich problemlos anzeigen lassen, was muss ich wie und wo machen, um auf den einzelnen Wert der zweiten Abfrage zugreifen zu können.
    Herzlichen Dank für alle nützlichen Hinweise
    Bertl