[FX.php List] How do we perform the equivalent of multiple find requests?

Malcolm Fitzgerald malcolm at notyourhomework.net
Thu May 3 14:11:23 MDT 2012


Hi, 
thanks for all the replies. 

The number of records discovered will be too large to grab and filter. I'd expect there to be hundreds of records. 

I'm able to run the searches and combine the results. I've experimented with array_merge for this and you get results that look like this

array {
	data {
		[83.2] {
				-- fmp record datasets are fully merged because there are associative keys
		}	
	foundcount {
				-- there is no associative key so the results are appended. This is quite handy	
		[0] : 0
		[1] : 3
		[2] : 1
	}
}

I haven't installed the Filemaker API yet. It offers combined searches so that is still an option. 

Malcolm



On 04/05/2012, at 3:49 AM, Beverly Voth wrote:

> Steve, this function has this on php.net:
> 
> ===
> Merges the elements of one or more arrays together so that the values of one are appended to the end of the previous one. It returns the resulting array.
> 
> If the input arrays have the same string keys, then the later value for that key will overwrite the previous one.  If, however, the arrays contain numeric keys, the later value will not overwrite the original value, but will be appended.
> 
> Values in the input array with numeric keys will be renumbered with incrementing keys starting from zero in the result array.
> ===
> 
> I guess if you merge and the keys "match" and they are strings, they will not just "append".
> 
> Beverly
> 
> On 03 May 2012, at 1:36 PM, Steve Winter wrote:
> 
>> Dale
>> 
>> Is $array1 + $array2 functionally identical to array_merge($array1, $array2)...?
>> 
>> Yes, I could test it myself, but I'm out and about and would invariably forget, do I'm asking you ;-£
>> 
>> Cheers
>> Steve
>> 
>> Sent from the iPhone of Steve Winter
>> Matatiro Solutions
>> steve at matatirosolutions.co.uk
>> +44 777 852 4776
>> 
>> On 3 May 2012, at 18:30, Dale Bengston <dale.bengston at gmail.com> wrote:
>> 
>>> Funny, I was just doing this exact thing yesterday.
>>> 
>>> I've accomplished this using both methods. At present, I'm leaning away from pulling more data than "belongs" to the user and then filtering it. I'm back to doing multiple queries and merging the results.
>>> 
>>> Once I have the results of multiple queries, it's a simple matter to "add" the data arrays to merge them. This works great, since it eliminates duplicates if your found sets overlap at all.
>>> 
>>> $find1 = [result of fx query 1]
>>> $find2 = [result of fx query 2]
>>> 
>>> $finalData['data'] = $find1['data'] + $find2['data'];
>>> 
>>> Poof!
>>> 
>>> Two caveats:
>>> 
>>> * Get the combined found set by doing count($finalData['data']). In case there were dupes that got merged, you can't rely on just doing
>>>  $finalData['foundCount'] = $find1['foundCount'] + $find2['foundCount'];
>>> 
>>> * Adding an empty array to an array can cause complaints - check for a foundCount > 0  in each array first.
>>> 
>>> Hope this helps,
>>> Dale
>>> 
>>> On May 3, 2012, at 5:52 AM, Beverly Voth wrote:
>>> 
>>>> If I think the foundset isn't too large, I've pulled what I can with one request and FILTER ( with switchcase or if/elseif/else ) in the output loop.
>>>> 
>>>> 
>>>> -- sent from my iPhone4 --
>>>> Beverly Voth
>>>> --
>>>> 
>>>> On May 3, 2012, at 3:10 AM, Malcolm Fitzgerald <malcolm at notyourhomework.net> wrote:
>>>> 
>>>>> I want to combine two searches, both of which have multiple criteria. In filemaker itself it would be easy, two find requests. 
>>>>> 
>>>>> I want to find all records where  "id = a AND date_1=a ... b" OR "id=a AND date_2=a...b". 
>>>>> 
>>>>> Is the solution to do two separate searches and combine the results or is there a better way?
>>>>> 
>>>>> Malcolm_______________________________________________
>>>>> FX.php_List mailing list
>>>>> FX.php_List at mail.iviking.org
>>>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>>> _______________________________________________
>>>> FX.php_List mailing list
>>>> FX.php_List at mail.iviking.org
>>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>> 
>>> _______________________________________________
>>> FX.php_List mailing list
>>> FX.php_List at mail.iviking.org
>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>> 
>> _______________________________________________
>> FX.php_List mailing list
>> FX.php_List at mail.iviking.org
>> http://www.iviking.org/mailman/listinfo/fx.php_list
> 
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list



More information about the FX.php_List mailing list