Joomla 5 Notice

We are pleased to announce that as of January 29, 2024, all of our Joomla extensions are compatible with Joomla 5.

For all who are still updateing from Joomla 3 to Joomla 4: Joomla 4 Migration instructions are available here:

There is now a separate Documentation for Visforms for Joomla 4 and for Visforms for Joomla 5!

Forum

Visforms Subscription user can ask questions in our forum. Please log in with the relevant user first.
Everybody can access the forum for reading.

Please only ask 1 question per topic.

Formulardaten in Formular aufrufen

More
1 year 3 months ago #8798 by bm
Replied by bm on topic Formulardaten in Formular aufrufen
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

More
1 year 3 months ago - 1 year 3 months ago #8799 by Administrator IV
Replied by Administrator IV on topic 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 :-).
Last edit: 1 year 3 months ago by Administrator IV.

More
1 year 3 months ago #8800 by bm
Replied by bm on topic Formulardaten in Formular aufrufen
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

More
1 year 3 months ago #8801 by Administrator IV
Replied by Administrator IV on topic 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 :-).

More
1 year 3 months ago #8802 by bm
Replied by bm on topic Formulardaten in Formular aufrufen
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

More
1 year 3 months ago #8819 by bm
Replied by bm on topic Formulardaten in Formular aufrufen
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

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum