Pour ma part, ça fonctionne en QUICKMODE et avec la version 1.72 de breezingforms
ETAPE 1 :
- Dans l'arborescence, selectionnez votre formulaire (et non pas le champs concerné ),
- Onglet avancé
- Dans le cadre options de formulaire, cliquer sur "plus d'options"
- Selectionner l'onglet "pièce de formulaire"
- Dans le cadre "Avant le formulaire" cliquer sur le bouton radio "personnalisé" //vous etes normalement au même endroit que sur l'image jointe ci dessous
ETAPE 2 :
il faut écrire un petit bout de code en php(sans les balises) pour récupérer les infos dans la base
Je suis un newbie en programmation, donc mon code est sans doute loin d'être optimisé; mais bon, il a le mérite de marcher.
//ATTENTION, NE PAS MODIFIER LE NOM DE LA VARIABLE $test
$this->execPieceByName('ff_InitLib');
$test = "";
mysql_connect("127.0.0.1","root","");//A ADAPTER EN FONCTION DE VOTRE SERVEUR
mysql_select_db("PAT");//REMPLACER "PAT" PAR LE NOM DE VOTRE BASE DE DONNEES
$lien='Select * from TabMais6';//VOTRE REQUETE
$image=mysql_query($lien) or die (mysql_error());
while($uneligne=mysql_fetch_assoc($image))
{
$test .= "0;{$uneligne['col2']};{$uneligne['id']}\n";
//ICI "col2" et "id" SONT DEUX COLONES DE LA BASE DE DONNEES
}
ETAPE 3 :
Une fois ce code adapté à vos besoins, copiez la fonctions ci dessous à la suite du code précédent
Je l'ai récupérée sur le sité cité plus haut. Elle fonctionnetrès bien ainsi. Je n'ai rien modifié en ce qui me concerne
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
ETAPE 4 :
Encore un petit élément à rajouter à la suite et le tour est joué !
Il faut ensuite écrire à la suite l'appel de la fonction :
ff_setSelectList('NOM DU CHAMPS', $test);
//INDIQUER LE NOM DU CHAMPS DE VOTRE FORMULAIRE et NE PAS TOUCHER A LA VARIABLE $test
ETAPE 5 : SAUVEZ ! et observez le résultat
Si vous souhaitez faire de même pour d'autres champs, reprenez la démarche en sautant l'étape 3 et en changeant le nom de la variable $test(au début, et a la fin).
J'èspere que ça vous aura aidé et que vous galèrerez moins que moi !
Si vous souhaitez utiliser ceci dans une application plus poussée, j'ai réussi a faire un hierselect (2 listes dépendantes liées à la base de données). Je décris la méthode dans le post : Re: how change values to select list...?
.
C'est écrit avec mon piètre anglais, j'espere que ça ne vous perturbera pas trop
I tried your code but is doesn't work for me even if it seems to be good .
Do you have any print screen of what it is supposed to do when the action script is written , i'm not sure that I understand
PS I speak french , so you can maybe explain it in french if it's better for you
Bonjour
J'ai essayé votre code en le modifiant (ci-dessous) pour l'adapter à ma base de données mais il ne fonctionne pas, pouvez vous m'aider s'il vous plait ?
Nom de la base de donnée : db321891463
Table : jos_users
Champ : name
Liste déoulante cible : nom
//ATTENTION, NE PAS MODIFIER LE NOM DE LA VARIABLE $test
$this->execPieceByName('ff_InitLib');
$test = "";
mysql_connect("127.0.0.1","root","");//A ADAPTER EN FONCTION DE VOTRE SERVEUR
mysql_select_db("db321891463");// LE NOM DE VOTRE BASE DE DONNEES
$lien='Select * from jos_users';//VOTRE REQUETE
$image=mysql_query($lien) or die (mysql_error());
while($uneligne=mysql_fetch_assoc($image))
{
$test .= "0;{$uneligne};{$uneligne}\n";
//ICI "col2" et "id" SONT DEUX COLONES DE LA BASE DE DONNEES
}
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('nom', $test); // Nom du champ
//INDIQUER LE NOM DU CHAMPS DE VOTRE FORMULAIRE et NE PAS TOUCHER A LA VARIABLE $test Part of the message is hidden for the guests. Please log in or register to see it.
Hello Chris
I try to fill a list box with a table in my database with the code above but it does not work. Do you have a solution?
On the Advanced Features thank you
is this an external database or the default Joomla! database?
Is it the default table structure of the Joomla! users table?
Normally the code should look like this:
$this->execPieceByName('ff_InitLib');
$test = "1;Please select;";
$query='Select * from jos_users';//VOTRE REQUETE
$result = ff_select($query);
foreach($result As $res){
$test .= "0;{$res->name};{$res->id}\n";
//Name will be shown and id is the label
//ICI "col2" et "id" SONT DEUX COLONES DE LA BASE DE DONNEES
}
ff_setSelectList('nom', $test); // nom = name of select list?
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
We help you to keep your costs under control. If you are a new member and purchased a form building tool from a different form vendor, then you'll get a 25% discount on our subscription plans.
How to receive the discount:
Send us a quick email to sales@crosstec.org with a proof of purchase (for example a paypal receipt), await payment instructions and enjoy your membership!