Joomla 5 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 29. Januar 2024 alle unsere Joomla Erweiterungen mit Joomla 5 kompatible sind.

Für alle die gerade noch von Joomla 3 auf 4 aktualisieren: Anleitungen für die Joomla 4 Migration gibt es hier:

Es gibt nun auch eine eigenständige Dokumentation für Visforms für Joomla 4 und für Visforms auf Joomla 5

Forum

Visforms Subscription Inhaber können in unserem Forum Fragen stellen. Bitte mit dem entsprechenden Benutzer anmelden.
Jeder kann lesend auf das Forum zugreifen.

Bitte stellen Sie nur 1 Frage pro Thema.

Wichtig Angaben für fast jede Frage:
V1: Welche Visforms-Version läuft?
V2: Welche Joomla-Version läuft?
V3: Welche PHP-Version läuft?

Aufgrund von Feiertagen und Urlaub ist bei Anfragen im Forum in der Zeit vom 20. Dezember 2024 bis zum 8.Januar 2025 mit verlängerten Antwortzeiten zu rechnen.

Formulardaten in Formular aufrufen

Mehr
1 Jahr 11 Monate her #8798 von bm
Hallo Ingmar,

nochmals besten Dank.

Das mit der "NULL" habe ich jetzt, glaub ich, verstanden.

Um so größer die Erkenntnis, dass es speziell in meinem Fall nicht wirklich eine Lösung geben wird.
Eine Eingabe mit einem leeren Feld, führt also, dass das Feld sozusagen mit "LEER" gefüllt wird, wodurch die "NULL" entfernt wird. Es entweicht sozusagen das Vakuum und im Feld befindet sich nun Luft (nur um einen Verständnisvergleich zu ziehen).

Erweitere ich das SQL-Statemant um "IS NOT NULL", dann werden die auszublendenden Felder IMMER angezeigt.
Schreibe ich jedoch "IS NULL", werden alle Felder NICHT angezeigt.

Das ist auch logisch, denn meine leeren Felder ohne "NULL" entsprechen in diesen Fällen ja "ausgefüllten" Feldern, weil sie ja kein "NULL" drin stehen haben.

Eine wirkliche Lösung sehe ich hier also nicht. Schade.

Aber trotzdem nochmal vielen, lieben Dank.

Liebe Grüße
bm

Mehr
1 Jahr 11 Monate her - 1 Jahr 11 Monate her #8799 von Administrator IV
Administrator IV antwortete auf Formulardaten in Formular aufrufen
Hallo bm,

dein gezogener Verständnis-Vergleich ist geradezu genial !

Natürlich gibt es dafür eine Lösung im SQL.
Du musst einfach im Where-Teil zwei Bedingungen richtig miteinander kombinieren.

Etwa so: where (xy is not null) and (xy != '')
Die Klammern stehen nur zur besseren Lesbarkeit.

Diese allgemeine Diskussion ist zu vage, als dass ich dir konkret helfen kann.

Also Schrittweise:
1. Schritt: Wie lautet denn dein SQL-Statement der betroffenen SQL-Listbox ganz konkret, bei der das 'Nicht-Leere-Anzeige-Problem' auftritt?

Gruß, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).
Letzte Änderung: 1 Jahr 11 Monate her von Administrator IV.

Mehr
1 Jahr 11 Monate her #8800 von bm
Hallo Ingmar,

mein SQL-Statement lautet so:

select F1716 as value, F1716 as label from suffix_visforms_13 WHERE id=${input:id-nummer[]}

Das wird also aufgerufen durch das Pulldown "id-nummer" mittels "Bei Änderung von nachladen" in dem Feld über dem SQL-Statement.

Wie ich jetzt das "where (xy is not null) and (xy != '')", welches sich für mich als guter Ansatz anhört, in korrektem Code da reinpfrimeln könnte, übersteigt irgendwie meine Fähigkeiten. Muss da ein AND oder && oder sowas zwischen rein (also nach dem "WHERE id=${input:id-nummer[]}")?

Gruß
Benno

Mehr
1 Jahr 11 Monate her #8801 von Administrator IV
Administrator IV antwortete auf Formulardaten in Formular aufrufen
Hallo Benno,

in etwa so:
Code:
select F1716 as value, F1716 as label from suffix_visforms_13 WHERE id=${input:id-nummer[]} and (id is not null) and (id != '');
Da ich keine entsprechende Tabelle mit Daten zur Verfügung habe, auch keine noch so kleine Testtabelle, kann ich es nicht testen.
Aber formal stimmt der Ausdruck.
Versuche es halt mal damit.

Gruß, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Mehr
1 Jahr 11 Monate her #8802 von bm
Hallo Ingmar,

das ist dermaßen Cool - ich bin begeistert.
Mit dem "AND" lag ich also gar nicht mal so falsch :-)

Natürlich hat das mit der id noch nicht gestimmt, denn da muss ja das Feld F1716 abgefragt werden, aber als ich das wie folgt gemacht habe, hat das geklappt:

Also statt

select F1716 as value, F1716 as label from suffix_visforms_13 WHERE id=${input:id-nummer[]} and (id is not null) and (id != '');

dann
select F1716 as value, F1716 as label from suffix_visforms_13 WHERE id=${input:id-nummer[]} and (F1716 is not null) and (F1716 != '');

Ganz großes Schulterklopfen an dich!!!
Jetzt wartet noch ein großes Umschreiben unzähliger Felder auf mich, aber so kann ich das mit Freude erledigen.

Nochmal lieben Dank!
Dir ein schönes Wochenende

Grüße
bm

Mehr
1 Jahr 11 Monate her #8819 von bm
Hallo Ingmar,

es wird immer abenteuerlicher und nimmt kein Ende.
Jetzt habe ich eine neue Aufgabe, aber ich weiß leider wieder nicht, ob das überhaupt geht.

Im Moment frage ich die ID und drei weitere Felder aus der Tabelle "suffix_visforms_13" folgendermaßen ab:

select id as value, concat(id, ' - ', F1244, ' - ', F1247, ' ', F1249) as label from suffix_visforms_13 ORDER BY id DESC

Das funktioniert dank deiner Hilfe ausgezeichnet.

Nun ist es aber so, dass ich diejenigen Datensätze aus dieser Ausgabeliste ausschließen will, welche über das Formular bereits einmal abgesendet wurden.
Dabei werden die entsprechenden abgesendeten Daten ja in eine neue Datenbank (hier "suffix_visforms_16") abgespeichert.
Die ID wird in diesem Fall in das Feld F1668 der zweiten Datenbank geschrieben.

Der Gedankengang ist der, dass ich im Sql-Statement in der Tabelle "suffix_visforms_16" sozusagen nachschaue, ob es diesen Datensatz dort gibt und wenn ja, ihn aus der abzufragenden Liste ausschließt.

Mir schwebt da ein JOIN vor, aber ich weiß nicht, ob das in Visforms überhaupt möglich ist, bzw. wie man das korrekt in die Zeile hineinschreiben könnte.
So was wie das hier schwirrt mir im Kopf herum, was ich da irgendwie in den obigen Code mit einbasteln wollen würde (keine Ahnung, ob sowas funktionieren würde):

... JOIN suffix_visforms_16 WHERE F1668 != ${input:id-nummer[]};

(oder irgendwie in der Art)

Also nur mal grundsätzlich gefragt: Geht das in Visforms mit JOIN überhaupt?

Gruß
bm

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum