Collections functions
Encryption functions
General functions
Theme permission functions
Resource functions

get_resource_field_data_batch()

Parameters

ColumnTypeDefaultDescription
$refs

Location

include/resource_functions.php lines 2846 to 2871

Definition

 
function get_resource_field_data_batch($refs)
    {
    
# Returns field data and field properties (resource_type_field and resource_data tables)
    # for all the resource references in the array $refs.
    # This will use a single SQL query and is therefore a much more efficient way of gathering
    # resource data for a list of resources (e.g. search result display for a page of resources).
    
if (count($refs)==0) {return array();} # return an empty array if no resources specified (for empty result sets)
    
$refsin=join(",",$refs);
    
$results=sql_query("select d.resource,f.*, f.field_constraint,d.value from resource_type_field f left join resource_data d on d.resource_type_field=f.ref and d.resource in ($refsin) where (f.resource_type=0 or f.resource_type in (select resource_type from resource where ref=d.resource)) order by d.resource,f.order_by,f.ref");
    
$return=array();
    
$res=0;
    for (
$n=0;$n<count($results);$n++)
        {
        if (
$results[$n]["resource"]!=$res)
            {
            
# moved on to the next resource
            
if ($res!=0) {$return[$res]=$resdata;}
            
$resdata=array();
            
$res=$results[$n]["resource"];
            }
        
# copy name/value into resdata array
        
$resdata[$results[$n]["ref"]]=$results[$n];
        }
    
$return[$res]=$resdata;
    return 
$return;
    }

This article was last updated 13th July 2020 14:35 Europe/London time based on the source file dated 10th July 2020 16:06 Europe/London time.