Joomla 6 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 14. Oktober 2025 alle unsere Joomla Erweiterungen mit Joomla 6 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 eigenständige Dokumentationen Visforms Joomla 4, Visforms Joomla 5 und Visforms Joomla 6.

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.

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

. Feldtyp selectsql mit Formularfeld steuern

Mehr
4 Jahre 1 Woche her #8048 von gedo
Ich habe ein Testformular erstellt, wobei das erste ein Feld vom Typ radio ist, und die Wert/Vaules mit varchar befüllt ist und die Bezeichnung ebenfalls.Im zweiten Feld vom Typ selectsql möchte ich nun in der Where-Klausel (F5 in {${input:fieldname[]}) verwenden.Das erste Feld hat den namen „Rasse“ alias „rasse“ und die ID 501.Egal welche Schreibweise ich verwende {${input:Rasse[]} oder {${input:rasse[]} oder {${input:501[]} funktioniert die Abfrage nicht. Wobei der Test mit  F5 in („xxxx“) funktioniert.

Was schreibe ich falsch? bzw. kann man auch die Bedingung = verwenden?

Mehr
4 Jahre 1 Woche her - 4 Jahre 1 Woche her #8050 von MaliRaj
Hallo gedo,
1. dein erstes Feld 'rasse' (Typ: radio) erzeugt vermutlich kein Array. Daher wäre wohl die richtige Schreibweise:
Code:
${input:rasse}

2. Dein komplettes SQL-Statement wäre hilfreich zum erkennen weiterer möglicher Klammerfehler {}

3. Der "Test"-Button in der Feldkonfiguration deines selectsql-Feldes wird immer einen Fehler ergeben, da die Variable 'rasse' erst zur Laufzeit des Formulares gültig (vorhanden) ist.

Freundliche Grüße aus PM
Heinz
(Joomla 5.2.3 / Visforms+Subscription 5.4.1 / PHP 8.2)
Letzte Änderung: 4 Jahre 1 Woche her von MaliRaj.
Folgende Benutzer bedankten sich: Administrator AV

Mehr
4 Jahre 1 Woche her #8053 von Administrator AV
Administrator AV antwortete auf . Feldtyp selectsql mit Formularfeld steuern
Hallo gedo,

der Hinweis von MaliRaj ist korrekt.

Die [] kannst du sogar auch weg lassen, wenn du einen Platzhalter für ein Feld vom Typ Select/Selectsql verwendest.
Die Dokumenation wird entsprechend angepasst werden.

Darüber hinaus fällt auf, dass du in allen 4 Beispielen am Anfang eine { hast.
Diese ist falsch erzeugt auf jeden Fall einen Fehler.
{${input:rasse[]}

Da der Wert eine Feldes vom Typ Radio einfach ein "String" ist, kannst du in diesem Fall in der where-Klausel auch mit "=" statt "in" arbeiten.

Gruß,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 6:
docs.joomla-6.visforms.vi-solutions.de/en/docs/
Please ask only 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 6:
docs.joomla-6.visforms.vi-solutions.de/docs/
Bitte immer nur 1 Frage pro Thema stellen :-).

Mehr
4 Jahre 1 Woche her - 4 Jahre 1 Woche her #8054 von gedo
Danke Für die Tipps!

Wie gesagt wenn ich  in der Klausel in "xxxx" schreibe hat die komplette SQL korrekt funktioniert.

Habe mir als Info das ${input:feldname} (da radio ohne ) im Label eingebunden.
interessant das beim Formularaufruf eine 0 für das Ergebnis angezeit wurde, jedoch beim Wechsel der Auswahl kam nicht der TEXT-string sondern nicht (nehme an NULL).

Daraufhin im radio-Feld nur int-Werte verwendet und im abhängigen SQL-Feld mit CASE/WHENN wieder in den entsprechenden TEXT konvertiert - SO FUNKT ES !!

select id as value, CONCAT(F1," - ",F5," - ",F16) as label 
FROM new_visforms_1
WHERE (F5 > DATE_ADD(SYSDATE(), INTERVAL -91 DAY) and F4 like (CASE
WHEN ${input:rasse} IS NULL THEN "%"
WHEN ${input:rasse} = 0 THEN "%"
WHEN ${input:rasse} = 1 THEN "Bichon Fris%"
WHEN ${input:rasse} = 2 THEN "Bologneser"
WHEN ${input:rasse} = 3 THEN "Cavalier King Charles Spaniel"
WHEN ${input:rasse} = 4 THEN "Japan Chin"
WHEN ${input:rasse} = 5 THEN "Chinese Crested Dog"
WHEN ${input:rasse} = 6 THEN "Coton De Tul%"
WHEN ${input:rasse} = 7 THEN "King Charles Spaniel"
WHEN ${input:rasse} = 8 THEN "Malteser"
WHEN ${input:rasse} = 9 THEN "Papillon"
WHEN ${input:rasse} = 10 THEN "Pekingese"
WHEN ${input:rasse} = 11 THEN "Phalene"
WHEN ${input:rasse} = 12 THEN "Shih Tzu"
ELSE "%"
END)) order by F5 asc
 
Letzte Änderung: 4 Jahre 1 Woche her von gedo.

Mehr
4 Jahre 1 Woche her - 4 Jahre 1 Woche her #8060 von MaliRaj
Hallo gedo, dass es nun wie gewünscht "funkt" ist gut. Ich habe mich gefragt, warum dein SQL-Statement (für mich) so umständlich aufgebläht ist und warum du das wohl so gelöst hast. Ich kenne natürlich mangels Information deine genaue Anforderung nicht. Aber so wie ich das erkenne/vermute, willst du mit Feld 2  alle Datensätze mit einer bestimmten Rasse ermitteln, die du in Feld 1 zur Auswahl anbietest. Oder? Wenn das so ist, warum so umständlich über Zahlenwerte und schwer wartbarer SQL-Abfrage. Du könntest das Feld 1 selbst als SQL-Auswahlliste (alle Rassen aus deiner Tabelle) konfigurieren und dann im Feld 2 mit einer stark vereinfachten SQL-Abfrage nach Feld 1 filtern. Der Vorteil dabei wäre, dass sich auch bei neu hinzugefügten Rassen, die Auswahl im Feld 1 dynamisch anpasst und am SQL-Statement nichts geändert werden muss.
Hoffentlich ist das jetzt nicht mehr Verwirrung als Hilfe.

Freundliche Grüße aus PM
Heinz
(Joomla 5.2.3 / Visforms+Subscription 5.4.1 / PHP 8.2)
Letzte Änderung: 4 Jahre 1 Woche her von MaliRaj.

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum