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:
ZitatNotice: 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:Codepublic 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.phpCode
Alles anzeigenclass KursplanungViewKursplanung extends JViewLegacy { protected $items; protected $endJahr; function display($tpl = null) { $this->items = $this->get('Items'); $this->endJahr = $this->get('EndJahr'); parent::display($tpl); }
Es muss sich aber niemand deswegen graue Haare wachsen lassen, geht halt nicht, ist aber nicht schlimm.Viele Grüße
Bertl -
Was meinst Du konkret damit?
-
Auch wenn Du es nicht glaubst (und mich vielleicht für ... hältst, selbstverständlich hatte ich diese Version schon ausprobiert):
die Meldung lautet:CodeNotice: 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()):Code
Alles anzeigenpublic 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; }
Es gelingt mir aber nicht, dann auf die Daten zuzugreifen. Alle meine Versuche scheitern an:ZitatUndefined variable: endJahr in oder
Undefined propertyEs tut auch eine Anregung ...
Viele Grüße Bertl
-
Perfekt Christiane,
herzlichen Dank!
Die Stammtischtermine habe ich mal notiert, mal sehen, wann ich es schaffe.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:
ZitatFatal 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?
-
habe ich nicht geahnt
-
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:
- 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:Codeclass 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:Codeclass 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