Problem filter area German number format

Kant

Member
Hello

I calculate a proportion with the calc plugin as follows:

Code:
$myCalc = (int)'{mitglieder___Jugendmitglieder_0_6}' + '{mitglieder___Jugendmitglieder_7_14}' + '{mitglieder___Jugendmitglieder_15_18}';
$myCalc2 = (int)$myCalc / '{mitglieder___Mitglieder}' * 100;
return number_format($myCalc2, 1, ',', '.');

In order to meet the circumstance of different numbersformat, are the value customized with number_format
Unfortunately, then the filter function range does not work anymore. Do you have a solution?

https://www.seglerjugend.berlin/datenbank/mitglieder

I did the following test:
Jahr 2016 English
Jahr 2017 German

regards
Oliver
 
Yeah, that's not going to work, as you are actually storing your data in the display format, which obviously doesn't work with database WHERE clauses like "BETWEEN x AND y", which expects regular decimals.

The only way I can think of to do this would be instead of a calc, have a field for the percentage, and use a PHP form submission plugin, running onBeforeStore, to calculate it, and set it in "normal" format ... so something like .

Code:
// make sure you don't do a divide by 0
if (!empty('{mitglieder___Mitglieder}') {
   $myCalc = (int)'{mitglieder___Jugendmitglieder_0_6}' + '{mitglieder___Jugendmitglieder_7_14}' + '{mitglieder___Jugendmitglieder_15_18}';
   $myCalc2 = (int)$myCalc / '{mitglieder___Mitglieder}' * 100;
}
else {
   $myCals2 = '0';
}
// set the percentage element's value in the form data
$formModel->updateFormData('mitglieder___percentage', $myCalc2, true);

Then do your number format in the element settings for mitglieder___percentage (or whatever it is called);

-- hugh
 
We are in need of some funding.
More details.

Thank you.

Members online

Back
Top