[FX.php List] Record Count after the fact.. oops
Jonathan Schwartz
jonathan at eschwartz.com
Fri Feb 16 15:01:44 MST 2007
Alright...I'm going to need a stiff drink in hand to wrap my head
around this one. Luckliy, I have the whole weekend to do so!
Thanks very much. Between this solution, ggt's solution and what I
cobbled together, I'm in good shape.
Thanks again.
jonathan
>oops! ignore the code example from the previous post, it was wrong.
>
>sorry. i just read the code... it should have read:
>
><?php
>$temphtml = 'start<br>';
>// create flag array same size as value array
>$flag_arr = array(1,0,1,0);
>$string = 'Not Showing because flag is ZERO';
>$arr = array('value1','value2','value3','value4');
>foreach ($arr as $key => $value) {
>$temphtml .= ((!$flag_arr[$key])?$string:$value) . 'blah<br>';
>}
>echo $temphtml;
>?>
>
>dan
>
>DC had written:
>>i would recommend making temp variables and then embedding them in
>>HTML. the less you directly mix HTML and PHP the happier you'll be
>>down the road. it's easier to debug, read, explain, update, etc...
>>
>>that said, yes, there is an "if" syntax that allows you to embed...
>>it's generally useful in other places too!
>>
>>here's a little example i put together to demonstrate a few little
>>tricks i've picked up along the way! this is tested code
>>
>><?php
>>$temphtml = 'start<br>';
>>// create flag array same size as value array
>>$flag_arr = array(1,0,1,0);
>>$string = 'Not Showing because flag is ZERO';
>>$arr = array('value1','value2','value3','value4');
>>foreach ($arr as $key => $value) {
>>$temphtml .= (($flag_arr[$key]==$value)?$string:$value) . 'blah<br>';
>>}
>>echo $temphtml;
>>?>
>>
>>note two things:
>>
>>1) the string concatenation operator .= inside the foreach. allows
>>you to more concisely say "append more to what's already there"
>>
>>2) the alternate "if" syntax that is tucked inside parentheses.
>>note that there is no need for echo because this syntax "emits" the
>>result which is then picked up by the string concatenation
>>operator. the syntax uses a question mark and a colon. it reminds
>>me of filemaker's if syntax.
>>
>>so, this:
>>
>>if($flag_array[$key]==$value){echo $string;}else{echo $value;}
>>
>>gets reduced to this:
>>
>>echo ($flag_array[$key]==$value)?$string:$value;
>>
>>only in the full code example i didn't use echo because it's not needed.
>>
>>HTH,
>>dan
>>
>>
>>Jonathan Schwartz had written:
>>>So...there's no proper syntax for embedding an "if" statement in
>>>the middle of defining a variable?
>>>
>>>Here's what I want to do....
>>>
>>>problem is the concatenation of 'blah' and if statement.
>>>
>>>$temphtml = 'blah'. if($this == $that){echo $this}else{echo $that}.'blah';
>>>
>>>
>>>
>>>J
>>>
>>>
>>>
>>>
>>>At 11:03 AM -0600 2/16/07, Bob Patin wrote:
>>>>That makes complete sense; I mix PHP & HTML like that all the
>>>>time. Some guys don't seem to like it, but I'm used to it and it
>>>>works fine in my forms.
>>>>
>>>>BP
>>>>
>>>>
>>>>On Feb 16, 2007, at 10:53 AM, Jonathan Schwartz wrote:
>>>>
>>>>>Hi Bob,
>>>>>
>>>>>I'm trying to write the html, including the results of the php
>>>>>if statment to a variable ($temphtml). At the end of the
>>>>>process, I want to echo out the $temphtml. The original reason
>>>>>for this is to be able to count the records that are being
>>>>>evaluated after returning from the FMP query. The reason for
>>>>>this was to deal with a compound query that FMP could not handle
>>>>>nateively. Phew!
>>>>>
>>>>>Back to your suggestion...it doesn't look like it builds the
>>>>>$temphtml variable.
>>>>>
>>>>>That being said, and still not being able to embed a php if
>>>>>statement in the *middle* of building $html, I did succeed in
>>>>>removing all the php if statements out of the middle of the loop
>>>>>and placed them at the top of the loop, evaluated them there and
>>>>>set the values in temporary variables...and then built the
>>>>>$temphtml in the normal way, having eliminated the in-line if
>>>>>statements.
>>>>>
>>>>>
>>>>>$temphtml = ''
>>>>>foreach($searchResult['data'] as $key => $value)
>>>>> {
>>>>> if(this == that) { $tempdata = "xxx"}; //moved these if
>>>>>statements to top.
>>>>>
>>>>> $temphtml = '<tr><td>blah</td></tr>
>>>>> <tr><td>'.$tempdata.'</td></tr>';
>>>>>}
>>>>>
>>>>>If there is a better way, I'd love to know it.
>>>>>
>>>>>J
>>>>>
>>>>>>Jonathan,
>>>>>>
>>>>>>Try this:
>>>>>>
>>>>>>
>>>>>><?
>>>>>>$temphtml =''; //set my variable for collecting the html
>>>>>>foreach($searchResult['data'] as $key => $value) {
>>>>>> $temphtml = $temphtml;
>>>>>> ?>
>>>>>> <tr><td>blah</td></tr>
>>>>>> <tr><td><?php if(empty($value['flag'][0] )) { echo
>>>>>>"$".$value['price'][0]; }else{ echo "Call"; }?>
>>>>>> <tr><td>blah</td></tr>
>>>>>> <?php
>>>>>>}
>>>>>>?>
>>>>>>
>>>>>>
>>>>>>Bob Patin
>>>>>>Longterm Solutions
>>>>>>bob at longtermsolutions.com
>>>>>>615-333-6858
>>>>>>http://www.longtermsolutions.com
>>>>>>
>>>>>> CONTACT US VIA INSTANT MESSAGING:
>>>>>> AIM or iChat: longterm1954
>>>>>> Yahoo: longterm_solutions
>>>>>> MSN: tech at longtermsolutions.com
>>>>>> ICQ: 159333060
>>>>>>
>>>>>>>>
>>>>>>>>On Feb 15, 2007, at 10:53 AM, Jonathan Schwartz wrote:
>>>>>>>>
>>>>>>>>>I could do that. However, that would then add a second for
>>>>>>>>>loop: one to reduce the data set and write the results to an
>>>>>>>>>array and one to write the array for display...in addition
>>>>>>>>>to the FMP query. (Hey guys....do you believe that this kind
>>>>>>>>>of talk is coming from me...former beginner. ;-) ).
>>>>>>>>>
>>>>>>>>>Seems that this is particularly resource intensive, No?
>>>>>>>>>
>>>>>>>>>Jonathan
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>At 11:25 AM -0500 2/15/07, Andy Gaunt wrote:
>>>>>>>>>>Jonathan,
>>>>>>>>>>
>>>>>>>>>>Rather than do a new page, can you do your for loop outside
>>>>>>>>>>the HTML first
>>>>>>>>>>(writing everything to a new variable) then echoing this to
>>>>>>>>>>your page once
>>>>>>>>>>completed?. If so then you could increment a counter
>>>>>>>>>>variable when the
>>>>>>>>>>record matches your criteria ( $counter++; ) and then echo
>>>>>>>>>>this out before
>>>>>>>>>>you echo out your content from the loop.
>>>>>>>>>>
>>>>>>>>>>Andy Gaunt
>>>>>>>>>>Office: 321.206.3658
>>>>>>>>>>Mobile: 407.810.4722
>>>>>>>>>>andy at fmpug.com
>>>>>>>>>>http://www.fmpug.com
>>>>>>>>>
>>>>>>>>>--
>>>>>>>>>
>>>>>>>>>Jonathan Schwartz
>>>>>>>>>FileMaker 8 Certified Developer
>>>>>>>>>Associate Member, FileMaker Solutions Alliance
>>>>>>>>>Schwartz & Company
>>>>>>>>>jonathan at eschwartz.com
>>>>>>>>>http://www.eschwartz.com
>>>>>>>>>http://www.exit445.com
>>>>>>>>>415-381-1852
>>>>>>>>>
>>>>>>>>>_______________________________________________
>>>>>>>>>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
>>>>>>>
>>>>>>>
>>>>>>>--
>>>>>>>
>>>>>>>Jonathan Schwartz
>>>>>>>FileMaker 8 Certified Developer
>>>>>>>Associate Member, FileMaker Solutions Alliance
>>>>>>>Schwartz & Company
>>>>>>>jonathan at eschwartz.com
>>>>>>>http://www.eschwartz.com
>>>>>>>http://www.exit445.com
>>>>>>>415-381-1852
>>>>>>>
>>>>>>>_______________________________________________
>>>>>>>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
>>>>>
>>>>>
>>>>>--
>>>>>
>>>>>Jonathan Schwartz
>>>>>FileMaker 8 Certified Developer
>>>>>Associate Member, FileMaker Solutions Alliance
>>>>>Schwartz & Company
>>>>>jonathan at eschwartz.com
>>>>>http://www.eschwartz.com
>>>>>http://www.exit445.com
>>>>>415-381-1852
>>>>>
>>>>>_______________________________________________
>>>>>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
--
Jonathan Schwartz
FileMaker 8 Certified Developer
Associate Member, FileMaker Solutions Alliance
Schwartz & Company
jonathan at eschwartz.com
http://www.eschwartz.com
http://www.exit445.com
415-381-1852
More information about the FX.php_List
mailing list