I have multiple forms. Based on those forms I need a hidden field populated with a prefix and a sequential number. Each form has a hidden field. That field can be filled dynamically and has a paramater of 'uuid'.
I have the following code... any suggestions on how to change the following code? This snippet works but it uses a random number (mt_rand), I prefer [prefix]-00001, [prefix]-00002, etc.
In addition it would be even better when every form has his own prefix. But that beyond my php skills. Preferably sequential for every form, example:
Form A with a prefix 'prd' ([prefix]-00001)
Form B with a prefix 'lead' ([prefix]-00001)
Thanks for any thoughts and ideas. Keep in mind that my php skills are pretty basic.
Paul
add_filter("gform_field_value_uuid", "get_sequential_nr");
function get_sequential_nr(){
$prefix = "set_prefix_here";
do {
$unique = mt_rand();
$unique = substr($unique, 0, 5);
$unique = $prefix . $unique;
} while (!check_unique_nmbr($unique));
return $unique;
}
function check_unique_nmbr($unique) {
global $wpdb;
$table = $wpdb->prefix . 'rg_lead_detail';
$result = $wpdb->get_var("SELECT value FROM $table WHERE form_id = '$form_id' AND field_number = '$field_id' AND value = '$unique'");
if(empty($result))
return true;
return false;
}
I have multiple forms. Based on those forms I need a hidden field populated with a prefix and a sequential number. Each form has a hidden field. That field can be filled dynamically and has a paramater of 'uuid'.
I have the following code... any suggestions on how to change the following code? This snippet works but it uses a random number (mt_rand), I prefer [prefix]-00001, [prefix]-00002, etc.
In addition it would be even better when every form has his own prefix. But that beyond my php skills. Preferably sequential for every form, example:
Form A with a prefix 'prd' ([prefix]-00001)
Form B with a prefix 'lead' ([prefix]-00001)
Thanks for any thoughts and ideas. Keep in mind that my php skills are pretty basic.
Paul
add_filter("gform_field_value_uuid", "get_sequential_nr");
function get_sequential_nr(){
$prefix = "set_prefix_here";
do {
$unique = mt_rand();
$unique = substr($unique, 0, 5);
$unique = $prefix . $unique;
} while (!check_unique_nmbr($unique));
return $unique;
}
function check_unique_nmbr($unique) {
global $wpdb;
$table = $wpdb->prefix . 'rg_lead_detail';
$result = $wpdb->get_var("SELECT value FROM $table WHERE form_id = '$form_id' AND field_number = '$field_id' AND value = '$unique'");
if(empty($result))
return true;
return false;
}
Have you looked at the Gravity Forms Unique ID Wiz? This allows you to specify a prefix for each form that gets added to the Entry ID.