web-dev-qa-db-fra.com

Ajouter un numéro séquentiel à un formulaire Gravityforms

J'ai plusieurs formes. Sur la base de ces formulaires, il me faut un champ caché contenant un préfixe et un numéro séquentiel. Chaque formulaire a un champ caché. Ce champ peut être rempli dynamiquement et possède un paramètre "uuid".

J'ai le code suivant ... des suggestions sur la façon de changer le code suivant? Cet extrait fonctionne, mais il utilise un nombre aléatoire (mt_Rand), je préfère [préfixe] -00001, [préfixe] -00002, etc.

En outre, il serait encore mieux que chaque forme ait son propre préfixe. Mais cela au-delà de mes compétences en php. De préférence séquentielle pour chaque forme, exemple:

Formulaire A avec le préfixe 'prd' ([préfixe] -00001)

  • prd-00001
  • prd-00002

Formulaire B avec le préfixe 'lead' ([préfixe] -00001)

  • plomb-00001
  • plomb-00002

Merci pour vos pensées et vos idées. Gardez à l'esprit que mes compétences en php sont assez basiques.

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;
}
1
Kortschot

Avez-vous examiné le Gravity Forms Wiz ID unique ? Cela vous permet de spécifier un préfixe pour chaque formulaire à ajouter à l'ID de l'entrée.

0
Android63