重力表获取字段条目

时间:2015-06-16 13:35:02

标签: php arrays gravity-forms-plugin

登录用户多次填写表单。从他的条目中,我试图获取特定字段的所有输入并将它们放入PHP数组中。

为简单起见,假设表单的ID为10,第一个字段名为“SomeField”,并且用户已登录(并且仍然登录)所有条目。

这是我尝试从用户创建所有SomeField条目的数组的最佳尝试:

get_currentuserinfo();
$searchCriteria = array(
    array(
        'key' => 'created_by',
        'value' => $current_user->user_login
    ),
    array(
        'key' => '1',
        'value' => 'SomeField'
    ),
);

$form = GFAPI::get_entries( 10, $searchCriteria );
echo print_r($form);

不幸的是,这个print_r似乎显示一个空数组。我相信我的searchCriteria不正确。

2 个答案:

答案 0 :(得分:1)

我发现省略第二个参数($ searchCriteria)更简单,只需使用$ form [0] ['1']例如,它将显示指定表单第一个条目的第一个字段。

答案 1 :(得分:0)

我在第二个回答中找到了user23058230的绝佳解决方案我总是创建了最新的表单,这对于新注册很有用,但以后也没有。

假设表单ID为数字1,您可以使用用户登录数组中提供的for作为entry_id循环进行搜索。 $current_user->entry_id

除了您想要返回的表单之外,不需要任何搜索查询 - 在本例中为#1。

您可以使用从阵列转储中看到的键搜索其他项目。

通过添加此代码解决了我的问题的绝佳解决方案。

$form = GFAPI::get_entries( 1, '');

$what_i_want = 0;

    for( $i = 0; $i < count($form); $i++ ){

        if( $form[$i]['id'] == $current_user->entry_id ){

        // the item I want
        $what_i_want = $form[$i]['22'];

        //echo " I " . $form[$i]['id'] . " F " . $form[$i]['22'] . " i " . $i . " T " . $what_i_want . '<br />';

        break;
        }

    }