Can't get PHP populate select list code in Joomla! BreezingForms to work

2.2k Views Asked by At

I'm using the exact code snippet (Step 1 of the Simple Version) from this page hosted by the developers of BreezingForms for Joomla!, modified only to have the correct table and field names, and the name of the select list in the form: http://crosstec.de/media/kunena/attachments/59203/BreezingFormsscriptdev.txt

All I want to do in BreezingForms is to populate a select list with the "address" field as name and "buildingID" as value. I don't need the scripts in Step 2, 3, etc. because I don't need to populate other form fields. However with this code inserted in Advanced > Form Options > Form Pieces > Before Form box, the select list fails to even show up on the page with the form, see here: http://catondesigngroup.com/websites/joooid/select-test/view/form.html

The form field label "Select List" is there, but the select list box fails to appear. I don't see any reason why it doesn't work. What's wrong here? Please help!

Note: I omitted these two lines of code because I don't need usernames or user ID's, however trying to implement these lines of code does help any:

$user = &JFactory::getUser(); // get the user via JFactory $userid = $user->id; // you may need to use a different value for this or none

=========START CODE=============

this->execPieceByName('ff_InitLib');

$rows = ff_select("SELECT buildingID, address
FROM ty43k_building_inspection");
$listdata = "0;Please make a selection;0\n";
for ($i = 0; $i < count($rows); $i++) {
$listdata .= "0;{$rows[$i]->address};{$rows[$i]->buildingID}\n";
}

ff_setSelectList('select1', $listdata);

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

========END CODE=========

2

There are 2 best solutions below

0
On

may be this is because you use function

ff_setSelectList('select1', $listdata);

before its definition?

Try move usage after definition:

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', $listdata);
0
On

Try adding a $ before this the start of the code:

this->execPieceByName('ff_InitLib');

So that the result is:

$this->execPieceByName('ff_InitLib');