it-swarm.com.de

Wie kann ich mehrere ausgewählte Werte in einer Liste speichern?

Ich habe ein Formular mit dem dynamisch generierten XML und es wurde dynamisch während der getForm-Funktion programmgesteuert erstellt. Ich möchte den ausgewählten Wert als Schlüssel/Wert-Paar speichern, das in einer Tabellenspalte gespeichert werden soll:

<field name ="frequency" type="list"
    label="Frequency"
        description="Frequency of sending report subscribed."
        option_on ="Yes"
        option_off ="Yes"
        multiple="true"
>

Jetzt ist die Mehrfachauswahl möglich. Beim Speichern des Formulars wurden die ausgewählten Werte jedoch nicht berücksichtigt.

Ich habe dies als Referenz:

https://stackoverflow.com/questions/2407284/how-to-get-multiple-selected-values-of-select-box-in-php

Mein Ziel ist es jedoch, die ausgewählten Werte zu speichern.

enter image description here Was könnte falsch sein?

Das Bild oben zeigt das benutzerdefinierte Feld, das ich erstellt habe. Diejenigen, die ich als "eins" und "drei" ausgewählt habe, werden jedoch nicht in der Datenbank gespeichert.

3
Break the Law

Ich konnte dieses Problem mit dem ff beheben. Code:

$mydata = JFactory::getApplication()->input->get('jform', array(), 'array');

Ich habe herausgefunden, dass ich das Feld nicht überprüfen muss, ob es ein Array ist oder nicht. Ich habe ein leeres Array erstellt

$fils[$new_filter['name']] = $mydata[$new_filter['name']];

aus dem obigen Code ist dies die Interpretation:

$fils['frequency'] = $mydata['frequency']

die Variable $ mydata ['frequency'] enthält automatisch die mehreren Werte, die ich aus der Dropdown-Liste ausgewählt habe und die in der XML-Datei das Attribut multiple = "true" haben.

2
Break the Law