登录用户多次填写表单。从他的条目中,我试图获取特定字段的所有输入并将它们放入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不正确。
答案 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;
}
}