[FX.php List] Creating Reusable Code

DC dan.cynosure at dbmscan.com
Sat Sep 9 16:29:50 MDT 2006


jonathan,

unless your field names are purposefully named with number endings,  
why don't you simplify it and remove the need for $counter and while  
loop. it looks like you are trying to create variable names on the  
fly by appending a number... if you really want to do it this way you  
need to use 'varaible variables' but they are pretty weird so it's  
best to keep it simple. try double dollar sign $$term instead of \ 
$term. but, really you should read up on variable variables to get it  
right.

if you want to make it simple, change the approach and make a field  
name array:
just put the field names you want in an array at the top of the page  
and iterate over the array to get your field names out into the  
table. same thing with any fieldwidths or field values you want. just  
make sure the arrays are all the same size.

so instead of:

> <? $term1 = "fieldnamesoand so"; ?> ... etc...

use:
<?php
$fields_array = array('list', 'of', 'field', 'names','here');
foreach ($fields_array as $fieldname) {
	echo '<td><input name="'.$fieldname.'"></td>';
{
?>

HTH,
dan

On Sep 9, 2006, at 6:06 PM, Jonathan Schwartz wrote:

> Andy,
>
> Thanks for the help.
>
> I understand the approach now, but can't get the code to work.  I  
> reworked it a couple dozen times and still am getting the literal  
> value of "$term1" instead of the value of the variable, previously  
> defined on the page.
>
> From the resulting html source code:
> <tr>
> <td><input name="$term1"></td><td><input name="$term2"></td>
>
>
> Here's my current php code:
> <? $term1 = "fieldnamesoand so"; ?>
> <snip>
> <snip>
> <tr>
> <?php
> $total = 11;
> $counter = 1;
> while ($counter <= $total) {
> 	$beginning="\$term";
> 	$termcurrent = $beginning.$counter;
> 	echo '<td><input name="'.$termcurrent.'"></td>';
> 	$counter ++; }
> echo "</tr>";
> ?>
>
>
>
> Jonathan
>
>
>
>
>> Jonathon,
>>
>> Try the following.
>>
>> <?php
>> echo '<tr  class="ver10" valign="top">';
>> $total = 10;
>> $counter = 1;
>> while ($counter <= $total) {
>> 	echo '<td><input name="'.$term.$ counter.'" type="text"
>> id="'.$term.$ counter.'" size="'.$termwidth.$ counter.'"></td>';
>> 	$ counter ++; }
>> echo '</tr>';
>> ?>
>>
>> Changing the value for the while statement will let you increase  
>> or decrease
>> the number of cells created.
>>
>> Another option is a 'for' loop
>>
>>
>> $total = 20;
>> echo '<tr  class="ver10" valign="top">';
>> for($counter=0; $counter < $total; $counter++) {
>> 	echo '<td><input name="'.$term.$counter.'" type="text"
>> id="'.$term.$counter.'" size="'.$termwidth.$counter.'"></td>';
>> }
>> echo '</tr>';
>>
>>
>>
>>
>> Andy Gaunt
>> Office: 321.206.3658
>> Mobile: 407.810.4722
>> andy at fmpug.com
>> http://www.fmpug.com
>> 2006 FileMaker Excellence Award Winner
>> Recipient of FileMaker's 2005 "Mad Dog" Public Relations Award
>>
>> For chapter locations, dates & times please visit the website at
>> http://www.fmpug.com If you can make it to a meeting, please RSVP at
>> http://www.fmpug.com/rsvp.php
>>
>> -----Original Message-----
>> From: fx.php_list-bounces at mail.iviking.org
>> [mailto:fx.php_list-bounces at mail.iviking.org] On Behalf Of  
>> Jonathan Schwartz
>> Sent: Saturday, September 09, 2006 11:54 AM
>> To: FX.php Discussion List
>> Subject: [FX.php List] Creating Reusable Code
>>
>> Hi Folks,
>>
>> I'm attempting to get more efficient with scripting.
>>
>> My first step was to remove hard-code field names from my favorite
>> search and display script, creating variables for each field and
>> defining those variables at the top of the document.  This works
>> great.  Now, I can re-purpose the script for another db and layout by
>> just changing the field variables at the top of the page, instead of
>> ripping apart the entire document.
>>
>> The second area I'm looking at is to reduce the repetition of
>> repetitive code (example below actually has 10+ iterations) and use
>> an iterative loop to accomplish the same, counting from 1 to n lines.
>>
>> Is that possible/reasonable/reccomended/etc?
>>
>> Thanks
>>
>> Jonathan
>>
>>
>> <tr  class="ver10" valign="top">
>> 	<td><input name="<? echo $term1; ?>" type="text" id="<? echo
>> $term1; ?>" size="<? echo $termwidth1; ?>"></td>
>> 	<td><input name="<? echo $term2; ?>" type="text" id="<? echo
>> $term2; ?>" size="<? echo $termwidth2; ?>"></td>
>> 	<td><input name="<? echo $term3; ?>" type="text" id="<? echo
>> $term3; ?>" size="<? echo $termwidth3; ?>"></td>
>> --
>>
>> 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



More information about the FX.php_List mailing list