¿Hay alguna forma de llenar los campos desde una tabla de base de datos?
Hemos buscado distintas maneras de rellenar los campos de un formulario usando datos de una base de datos cuando un usuario está registrado. Se han implementado distintos fragmentos de código para implementarlo. ¡FUNCIONA!
Nota: Este ejemplo es válido para el modo Quick Mode
En este caso, la tabla que se está promocionando pertenece a la dirección de email del usuario - toma la dirección de correo electrónico del usuario actual en la tabla consultada, para después llenar el valor del campo del formulario.
En este ejemplo se rellena el formulario con el email del usuario.
En su formulario, vaya a Avanzado > Más opciones > Piezas del formulario > Antes del formulario
$this->execPieceByName('ff_InitLib'); //Incluye la librería de BreezingForms $db = JFactory::getDBO();//Toma la base de datos objetivo $user = &JFactory::getUser();//Toma la info del usuario //Create your own query $db->setQuery('Select name From #__users Where id='.$user->id); $result = $db->loadResult(); //carga el resultado de la consulta ff_setValue('ElementName', $result); // rellena el valor en el formulario. Cambie ElementName por el nombre real de su elemento de formulario
Si simplemente quiere rellenar los campos de nombre y email con los valores del usuario actualmente registrado y activo sólo tiene que añadir este código en el campo Valor en el un elemento de texto de su formulario, es decir, no precisa de la Pieza del Formulario. Por ejemplo:
Nombre del usuario:
<?php $user = &JFactory::getUser();return $user->name;?>
Email:
<?php $user = &JFactory::getUser();return $user->email;?>
Tenga en cuenta que el segundo código de este ejemplo no funciona para formularios realizados en Eaysmode. Para Easymode vea el siguiente enlace.