Ist es möglich eine Selectliste aus einer Datenbank Tabelle zu füllen?

Ja das ist möglich, dazu brauche wir ein wenig PHP und SQL.

Öffnen Sie Ihr Formular und gehen zu Formular Einstellungen->erweitert->mehr optionen->Formular Teile -> Vor Formular ->spezial

In diesem Fenster können Sie nun beliebiges PHP ausführen um Ihre Datenbank abzufragen und dann die Elemente in Ihrem Formular zu befüllen.

Die Werte für die Selectliste brauchen in Breezingforms ein spezielles Format :  0;foo;bar  Wir müssen nun aus den Datenbankwerten einen entsprechenden String erzeugen und diesen dann der Liste zuweisen.

Im folgenden Beispiel machen wir eine Abfrage auf die Users Tabelle in Joomla und wollen eine Selectliste mit allen Usernames erstellen. Damit das Beispiel funktioniert erstellen Sie bitte zuerst eine Selectliste in Ihrem Formular mit dem Namen "select1" und löschen bitte die vorhandene Listen Definition.

Anschließend kopieren Sie folgenden Code in den vor Formular Bereich:

 

$this->execPieceByName('ff_InitLib'); //Include BreezingForms Library
$db = JFactory::getDBO();//Get Database Object
 
//Create your own query here
$db->setQuery('Select username From #__users '); 
 
$result = $db->loadColumn(); //load the result from the query
$test = "";
for ($i = 0; $i < count($result); $i++)
{
     $test .= "0;".$result[$i].";".$result[$i]."\n";
}

function ff_setSelectList($name, $value)
{
     global $ff_processor;
     for ($r = 0; $r < $ff_processor->rowcount; $r++)
     {
          $row =& $ff_processor->rows[$r];
          if ($row->name==$name)
          $row->data2 = $value;
          unset($row);
     } // for
} // ff_setSelectList

ff_setSelectList('select1', $test);

 

Jetzt noch speichern und testen, Sie sollten eine Selectliste mit allen Benutzernamen Ihrer Seite angezeigt bekommen.

Angebot

Sommer Special! Alle Mitgliedschaften zum Sonderpreis!

Prio Support, alle Extensions und alle Templates in einem Paket.

Hier geht's zur Bestellung

Crosstec hilft sparen!

Falls Sie neu bei Crosstec sind aber bereits einen Formulargenerator bei einem anderen Hersteller gekauft haben, dann bekommen sie von uns einen Rabatt von 25% auf unsere 1-Jahres und Pro-Mitgliedschaften

Wie Sie an den Rabatt kommen?

Schreiben Sie uns einfach eine kurze Email mit beigelegten Kaufbeleg (z.B. PayPal Quittung) an sales@crosstec.org.

Wir unterstützen die Joomla Community

Crosstec unterstützt weltweit alle offiziellen Joomla! User Groups und Organisatoren von Joomla! Days die bei Joomla.org registriert sind.

Falls das auf dich zutrifft und du eines unserer Produkte brauchst, schreib uns eine kurze Email an info@crosstec.org und du bekommst eine Flatrate-Mitgliedschaft geschenkt!