¿Es posible rellenar automáticamente una lista de selección desde una tabla de la base de datos?

Por supuesto que sí.

Para ello tendrá que escribir una Pieza del tipo Antes del Formulario (formulario > Avanzado > Más opciones > Piezas del Formulario), es decir, un pequeño script en PHP que se ejecutará antes de que se cargue el formulario en el navegador del usuario. Dentro de este código puede especificar la declaración SQL, consultar la base de datos y situar los resultados en el formulario.

Los valores de una lista de selección tienen la forma 0;foo;bar, por lo que sólo necesita crear dinámicamente una cadena (string) con los valores deseados y alimentarlos con los valores generados por la funciona anteriormente mencionada. Aquí tiene un ejemplo.

Pieza Antes del Formulario:

 

$this->execPieceByName('ff_InitLib'); //Incluye la librería de BreezingForms
$db = JFactory::getDBO();//Obtiene el objeto de la base de datos
 
//Aquí debe crear su consulta
$db->setQuery('Select username From #__users '); 
 
$result = $db->loadColumn(); //carga el resultado de la consulta
$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);

 

Use este script haciendo los cambios necesarios para apuntar a la tabla correcta.

 

Descuentos actuales

Suscripción todos extensiones

Summer Sale! All subscriptions at a special price!


Sin límite de dominios!. Incluye todas nuestras extensiones presentes y futuras para Joomla!®, plantillas para Joomla!®   adquiriendo la suscripción de por vida tiene acceso a todas nuestras plantillas.

Más información aquí

Descuento por componentes terceros - 25% Off

Nosotros le ayudamos a que no incurra en grandes gastos. Si es nuevo cliente y ha adquirido un constructor de formularios de otro proveedor, obtendrá un 25% de descuento en nuestra suscripción de un año o de por vida.

Cómo recibir el descuento:

Envíenos un correo electrónico a sales@crosstec.org con la evidencia (por ejemplo, un recibo de PayPal) de que a adquirido otra extensión para formularios y espere a nuestras instrucciones de pago para disfrutar de su suscripción con descuento.

Apoyando a la comunidad Joomla!

Nuestra pasión nos lleva a apoyar a grupos oficiales de usuarios de Joomla! y a organizadores de eventos Joomla! registreados en Joomla.org.

Si planea organizar un evento relacionado con la comunidad Joomla! y necesita cualquiera de nuestros productos, por favor, envíenos un email a info@crosstec.org y recibirá una suscripción de por vida gratuitamente.